如何在Django模板中执行查询过滤
我需要从Django模板中执行过滤查询,以获取与视图中的python代码等效的一组对象:
queryset = Modelclass.objects.filter(somekey=foo)
在我的模板中,我想做
{% for object in data.somekey_set.FILTER %}
但我似乎无法找出如何编写FILTER。
回答:
你不能这样做,这是设计使然。Django框架的作者打算将表示代码与数据逻辑严格分开。过滤模型是数据逻辑,而输出HTML是表示逻辑。
因此,你有几种选择。最简单的方法是进行过滤,然后将结果传递给render_to_response
。或者,你可以在模型中编写一个方法,以便说出来{% for object in data.filtered_set %}
。最后,你可以编写自己的模板标签,尽管在这种情况下,我建议你这样做。
以上是 如何在Django模板中执行查询过滤 的全部内容, 来源链接: utcz.com/qa/404560.html