7

DjangoORMでASsqlステートメントを使用することは可能ですか?

SELECT my_field AS something_shiny WHERE my_condition = 1

可能であれば、どのように?

4

2 に答える 2

22

今では、Djangoのドキュメントには、最後の手段として追加を使用する必要があると記載されています。

したがって、このクエリを実行するためのより良い方法は次のとおりです。

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

extra()を使用する

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

sth_shiny次に、結果のFooインスタンスの属性にアクセスできます

于 2012-04-07T15:07:38.167 に答える