私は、次のマネージャーを持っている:customer
が別のオブジェクトとFKの関係である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
。現在、クエリーセットはオブジェクトのIDであるcustomer
のIDをパックしますが、代わりに表示名を使用したいので、テンプレート用にすべてをうまくまとめることができます。今の
、私はマネージャに次を追加しました:
for q in qs:
q['customer'] = Customer.objects.get(id=q.get('customer')).name
それが正常に動作しますが、それは余分な作業のように感じている...私のためにそれは1とは対照的に、50本のデータベースのヒットです。表示名をバットの直後にqs辞書に入れるためのショートカットはありますか?
右。私はDjangoが大好きです。今私はテンプレートで '{{item.customer__name}}' –