У меня есть модель в приложении django со следующей структурой:
class items(models.Model):
name = models.CharField(max_length=50)
location = models.CharField(max_length=3)
Я хотел создать сводную таблицу для подсчета каждого местоположения для каждого имени / элемента, что мне удалось сделать какпо следующему:
queryset_res = items.objects.values('name')\
.annotate(NYC=Sum(Case(When(location='NYC', then=1),default=Value('0'),output_field=IntegerField())))\
.annotate(LND=Sum(Case(When(location='LND', then=1),default=Value('0'),output_field=IntegerField())))\
.annotate(ASM=Sum(Case(When(location='ASM', then=1),default=Value('0'),output_field=IntegerField())))\
.annotate(Total=Count('location'))\
.values('name', 'NYC', 'LSA','Total')\
.order_by('-Total')
Это дает мне, сколько раз каждое имя появляется на каждом месте, что все в порядке.
Мой вопрос, как я могу сделать местоположение динамическим, и поэтому, еслиновые места, где добавлены, я не вернулся и снова изменить код!либо из списка, либо из данных самой модели
Большое спасибо AB