7

是否可以将 AS sql 语句与 Django ORM 一起使用:

SELECT my_field AS something_shiny WHERE my_condition = 1

如果有可能那怎么办?

4

2 回答 2

22

到目前为止,Django 文档说应该使用 extra 作为最后的手段

因此,这是执行此查询的更好方法:

from django.db.models import F
Foo.objects.filter(cond=1).annotate(sth_shiny=F('my_field'))
于 2016-07-08T10:38:36.400 回答
5

使用额外的()

Foo.objects.filter(cond=1).extra(select={'sth_shiny':'my_field'})

然后您可以访问sth_shiny结果 Foo 实例的 attr

于 2012-04-07T15:07:38.167 回答