我需要从Django模板中执行过滤查询,以获得视图中相当于python代码的一组对象:

queryset = Modelclass.objects.filter(somekey=foo)

在我的模板中,我想

{% for object in data.somekey_set.FILTER %}

但我似乎不知道如何编写过滤器.

推荐答案

你不能这样做,这是设计好的.Django框架的作者打算将表示代码与数据逻辑严格分离.过滤模型是数据逻辑,输出HTML是表示逻辑.

所以你有几个 Select .最简单的方法是进行过滤,然后将结果传递给render_to_response.或者,您可以在您的模型中编写一个方法,这样您就可以说是{% for object in data.filtered_set %}.最后,您可以编写自己的模板标记,尽管在此特定情况下我建议您不要这样做.

Django相关问答推荐

Django REST framework:object has no attributed after annotation;Got attributeError when try to get a value for field field on serializer<>

Django相关对象引用模板

在生产中添加整型主键

使用自定义模型注册后,Django无法登录

通过在其他查询中使用来过滤对象

如何在 Django 测试中发送带有图像字段查询参数的 POST 请求

Django 获取用户创建的对象,这些用户属于用户列表

Pymongo:搜索文档时忽略空输入值

为什么在 Docker 映像中运行我的 Django 应用程序后下载属性不再起作用?

QuerySet对象在bulk_update中没有属性pk

Django中的 联合(Union) 和相交(Intersect)

Django {{ MEDIA_URL }} 空白 @DEPRECATED

Django Facebook Connect 应用推荐

如何在django中生成临时文件然后销毁

在 django admin 中创建对象时如何自动插入当前用户?

带有消息判断的 Django/Python assertRaises

模拟 Django 查询集以测试采用查询集的函数

Django查询否定

Django - 安装 mysqlclient 错误:需要 mysqlclient 1.3.13 或更高版本;你有 0.9.3

警告:找不到分发的 svn 位置==0.6.16dev-r0