1

私はdjango ORMのexact()メソッドを使用して、一連のモデルから選択したフィールドのみをクエリしてRAMを節約しています。使用している ORM マネージャーの制約により、defer() または only() を使用できません (デフォルトではありません)。

次のコードはエラーなしで機能します。

 q1 = Model.custom_manager.all().extra(select={'field1':'field1'})
 # I only want one field from this model

ただし、q1クエリセットをjson化すると、モデルのすべてのフィールドが取得されます..したがって、extra()が機能していないか、何か間違っていますか?

print SafeString(serializers.serialize('json', q1))
>>> '{ everything!!!!!}'

具体的には、私が使用しているカスタム マネージャーは django-sphinx です。たとえば、Model.search.query(...)。

ありがとう。

4

1 に答える 1