0
Рассмотрим следующую модель DjangoDjango ORM аннотировать продукты с клиентом счет
Customer(models.Model)
name = models.CharField()
Product(models.Model)
name = models.CharField()
Score(models.Model)
points = models.IntegerField()
customer = models.ForeignKey(Customer)
product = models.ForeignKey(Product)
Я хотел бы получить список всех продуктов, снабженными:
- общий балл от всех клиентов
- бигованными от текущего клиента только
Я смог заставить его работать на общую сумму оценка как это:
products = Product.objects.annotate(total_points = Sum('score__points')).all()
, но я не знаю, как добавить аннотацию только текущий счет клиента (если клиент рассмотрел продукт, None в противном случае). Я хочу что-то вроде этого:
cus = Cusomter.objects.get(pk=123)
products = Product.objects.annotate(total_points = Sum('score__points'),\
current_customer_points= (Score.points where customer=cus and product = this).all()