是否可以在Django ORM中使用AS sql语句:
SELECT my_field AS something_shiny WHERE my_condition = 1
如果有可能那么?
答案 0 :(得分:11)
到目前为止,Django文档说应该use extra as a last resort。
所以这是进行此查询的更好方法:
from django.db.models import F
Foo.objects.filter(cond=1).annotate(sth_shiny=F('my_field'))
答案 1 :(得分:3)
使用extra()
Foo.objects.filter(cond=1).extra(select={'sth_shiny':'my_field'})
然后您可以访问生成的Foo实例的sth_shiny
attr