статическая аннотация django

Я хочу добавить статическое значение к результатам запроса к базе данных, используя django (поэтому не используя «сырой» SQL)

Например, если у меня есть объект Car с полями make, model и color, то я хочу, чтобы мои результаты с дополнительным статическим значением выглядели примерно так:

make     model     color    sales
----     -----     -----    -----
nissan   bluebird  black    0
ford     fiesta    red      0
toyota   camry     green    0

Я пробовал код как

cars= Car.objects.all().annotate(sales=0)

но получил ошибки. Что я могу сделать?

Приветствия,

make     model     color    sales
----     -----     -----    -----
nissan   bluebird  black    0
ford     fiesta    red      0
toyota   camry     green    0

Я пробовал код, подобный

cars= Car.objects.all().annotate(sales=0)

, но получил ошибки. Что я могу сделать?

Приветствия,

make     model     color    sales
----     -----     -----    -----
nissan   bluebird  black    0
ford     fiesta    red      0
toyota   camry     green    0

Я пробовал код, подобный

cars= Car.objects.all().annotate(sales=0)

, но получил ошибки. Что я могу сделать?

Приветствия, Дейв

- Trindaz в Феданге #django

26
задан Trindaz 28 August 2010 в 10:03
поделиться

2 ответа

Вы можете использовать метод extra() . Вот так:

Car.objects.all().extra(select = {'sales': 0})
10
ответ дан 28 November 2019 в 06:16
поделиться
for car in Car.objects.all()
    setattr(car, 'sales', 0)

это добавит к каждому элементу в вашем наборе запросов поле с именем sales со значением 0. Это поле можно использовать только с этим экземпляром car.

ОБНОВЛЕНО

0
ответ дан 14 October 2019 в 21:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: