我有以下管理員:Django的 - 如何獲取查詢集.values中顯示名稱()
class Totals(Manager):
def by_customer_and_date(self, start_date, end_date):
qs = self.model.objects.filter(
date__range=(start_date, end_date)
).values(
"customer"
).annotate(
...bunch of stuff...
)
return qs
凡customer
是一個FK關係到另一個對象。現在,查詢集包含在相關的customer
對象的ID中,但是我希望它使用顯示名稱,所以我可以很好地將它打包爲我的模板。
現在,我已經添加了以下到馬槽:
for q in qs:
q['customer'] = Customer.objects.get(id=q.get('customer')).name
它工作正常,但感覺像額外的工作..對我來說這50次數據庫的訪問,而不是一個。是否有任何捷徑將顯示名稱放在qs字典中?
對。我喜歡Django。現在我可以用'{{item.customer__name}}'在我的模板中抓住它 –