У меня проблема с запросом Django для этой упрощенной модели:
class Client(models.Model):
user_name = models.CharField
class Task(models.Model):
client = models.ForeignKey(
'Client',
)
task_type = models.ForeginKey(
'Task_Type',
)
class Task_Type(models.Model):
name = models.CharField
class Task_Value(models.Model):
value_num = models.DecimalField
task = models.ForeignKey(
'Task',
)
У меня есть список внешних ключей, созданный методом Client.Я хочу сделать две вещи, во-первых, я хочу подсчитать все задачи, которые имеют тип_задачи по имени "XYZ", ограниченный клиентами в словаре.Во-вторых, я хочу суммировать все значения value_num для всех заданий по имени «ABC», ограниченное «Клиенты» в словаре.Эти два значения будут суммированы и разделены на количество клиентов в словаре
Ниже приведен метод, который у меня есть (и работает) для одного клиента, но у меня возникают проблемы с повторением этого по списку,
cnt = Task.objects.filter(client=self.pk,event_type__name__exact="XYZ").count()
tasks = Task.objects.filter(client=self.pk,event_type__name__exact="ABC")[0]
value = tasks.task_value_set.get(field__name__exact='ABC').value_num
answer = int(cnt+value)
РЕДАКТИРОВАТЬ: Список получен из этого:
group = Client.objects.filter(pk__in=client_list)
, где метод генерирует список клиентов.