Python 在django orm查询中将sql表达式指定为列名
看看这个查询:Python 在django orm查询中将sql表达式指定为列名,python,mysql,django,django-orm,Python,Mysql,Django,Django Orm,看看这个查询: select 'DEFAULT_STRING' as category from foo 在这里,表中实际上没有列category,但我们只使用字符串文字在查询返回的所有行中表示该列值。我们可以使用上面任何有效的SQL表达式来代替字符串文本。有没有办法在django ORM中使用此查询?一种简便的方法是使用查询表达式注释 from django.db.models.expressions import RawSQL qset = Foo.objects.annotate(cat
select 'DEFAULT_STRING' as category from foo
在这里,表中实际上没有列
category
,但我们只使用字符串文字在查询返回的所有行中表示该列值。我们可以使用上面任何有效的SQL表达式来代替字符串文本。有没有办法在django ORM中使用此查询?一种简便的方法是使用查询表达式注释
from django.db.models.expressions import RawSQL
qset = Foo.objects.annotate(category=RawSQL("select 'DEFAULT_CATEGORY'", ()))
如果有更好的方法,请在答案中告诉我