是否可以将 AS sql 语句与 Django ORM 一起使用:
SELECT my_field AS something_shiny WHERE my_condition = 1
如果有可能那怎么办?
到目前为止,Django 文档说应该使用 extra 作为最后的手段。
因此,这是执行此查询的更好方法:
from django.db.models import F
Foo.objects.filter(cond=1).annotate(sth_shiny=F('my_field'))
使用额外的()
Foo.objects.filter(cond=1).extra(select={'sth_shiny':'my_field'})
然后您可以访问sth_shiny
结果 Foo 实例的 attr