我想使用 django 为数据库查询的结果添加一个静态值(因此不使用“原始”SQL)
例如,如果我有一个包含字段 make、model 和 color 的对象 Car,那么我希望我的结果集具有额外的静态值,看起来像这样:
make model color sales
---- ----- ----- -----
nissan bluebird black 0
ford fiesta red 0
toyota camry green 0
我试过类似的代码
cars= Car.objects.all().annotate(sales=0)
但出现错误。我能做什么?
干杯, 戴夫
--Fedang #django 上的 Trindaz
最佳答案
Django 功能 Value
expressions :
from django.db.models import Value
cars= Car.objects.annotate(sales=Value(0))
在 Django 3.2 之前,指定字段类:
from django.db.models import Value, IntegerField
cars= Car.objects.annotate(sales=Value(0, IntegerField()))
您可以使用所有可用模型字段的实例来代替 IntegerField()
(例如:CharField()
,...)
关于python - django 静态注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3590306/