Django aggregate и Distinct вместе

Мне нужно добиться следующего.

class rooms(models.Model):
    uniqueKey = models.IntegerField() #this can have same value multiple times
    sellingPrice = models.IntegerField()

Мой запрос выглядит следующим образом

rooms.objects.all().distinct('uniquekey').aggregate(Sum('sellingPrice'))

Я хочу суммировать цену продажи для всех отдельных уникальных ключей.Вышеприведенный запрос дает следующую ошибку.

NotImplementedError("aggregate() + distinct(fields) not implemented.")

Пожалуйста, помогите мне.

Вы можете сначала аннотировать с помощью Min sellingPrice (или другого ограничителя) для каждого uniqueKey, а затем объединить, так:

from django.db.models import Min, Sum

rooms.objects.values('uniquekey').annotate(
    min=Min('sellingPrice')
).aggregate(
    sellingPrice__sum=Sum('min')
)
Вернуться на верх