2017-04-26 6 views
0

ルック列名などのSQL式を指定します。ここではDjangoのORMクエリでこのクエリで

select 'DEFAULT_STRING' as category from foo 

を、私たちは本当に表の列categoryを持っていないが、我々はちょうど表すために文字列リテラルを使用クエリによって返されたすべての行のこの列の値。文字列リテラルの代わりに、上記の有効なSQL式を使用できます。 django ORMでこのクエリを実行する方法はありますか?

答えて

0

これを行う便利な方法は、annotateRawSQLというクエリ式です。

from django.db.models.expressions import RawSQL 
qset = Foo.objects.annotate(category=RawSQL("select 'DEFAULT_CATEGORY'",())) 

これを行うより良い方法があれば、私に教えてください。