У меня есть следующий менеджер:Django - Как получить отображаемое имя внутри QuerySet .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
, но я бы хотел, чтобы они использовали отображаемые имена, чтобы я мог хорошо упаковать его для моего шаблона.
В настоящем время, я добавил следующее в сену:
for q in qs:
q['customer'] = Customer.objects.get(id=q.get('customer')).name
Он отлично работает, но он чувствует, как дополнительную работа .. для меня это 50 базы данных попадет в отличие от одного. Есть ли ярлыки для размещения отображаемого имени в словаре qs сразу с места в карьер?
Право на. Я люблю Django. Теперь я могу взять его в свой шаблон с помощью '{{item.customer__name}}' –