我有以下管理员: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}}'在我的模板中抓住它 –