Django - пользовательский кверисет
У меня есть таблица следующего вида:
class myTable(models.Model):
a = models.IntegerField(blank = True, default = 0)
b = models.IntegerField(blank = True, default = 0)
c = models.IntegerField(blank = True, default = 0)
d = models.IntegerField(blank = True, default = 0)
Я хотел бы написать представление, которое создает пользовательский набор запросов только с одним кортежем, который состоит из поля за полем по максимальному значению, присутствующему среди всех кортежей.
id | a | b | c | d |
---|---|---|---|---|
0 | 2 | 4 | 1 | 7 |
1 | 3 | 1 | 6 | 3 |
2 | 8 | 4 | 2 | 1 |
Представление должно вернуть 1 кортеж с a=8, b=4, c=6 и d=7
Как я могу это сделать? Спасибо
Вы можете достичь этого, используя агрегирование максимального значения для ваших столбцов:
from django.db.models import Max
myTable.objects.aggregate(a=Max("a"), b=Max("b"), C=Max("c"), d=Max("d"))