是否可以访问django模板中的一组集合。
即。 a.b_set.c_set.count
所以它得到与c相关的所有b对象相关的所有c对象的计数。
我知道我可以在后端进行查询,即c.objects.filter(b__a = a),但我希望仅从模板中进行查询。
干杯, 埃米特
答案 0 :(得分:0)
这可能无法从模板中进行,因为它从未打算使用“复杂”逻辑。你应该在视图中做到这一点。 由于你想得到的是一个新的属性“每个查询集”,这不是一个单行。
示例:
as = a.objects.all()
for a in as:
a.b_c_count = c.objects.filter(b__a=a).count()
并在模板中使用它:
a.b_c_count
如果你有很多对象,这将是一个瓶颈,所以你可能想尝试extra方法(并使用as = a.objects.all()。extra(* parameters)) ,甚至是原始的sql。