2014-02-19 140 views
0

是否有可能訪問Django模板中的一組集。Django模板集

即。 a.b_set.c_set.count

因此它獲得了與所有與c有關的b對象相關的所有c對象的計數。

我知道我可以在後端進行查詢,即c.objects.filter(b__a = a),但是我希望從模板中單獨完成。

乾杯, 埃米特

回答

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(*參數)),甚至是原始的sql。