2017-02-21 7 views
0

私のアプリケーションは、データを返す方法を予期せず変更するAPIに大きく依存しています。このため、PSQLとJSONFieldsをDjangoで使用することにしました。
私はJSONFieldの値でフィルターをかける方法についてたくさんのサンプル/ドキュメントを見てきましたが、これらの値でSELECTをすることはできません。JSONField on Djangoで

私が知っていること;
queryset.filter(jsonfield__key_name = 'value')

どのようにしたらいいか分かりますか。
queryset.values('jsonfield__key_name')

ありがとうございます!

答えて

2

答えはRawSQL式です。 RawSQLから
from django.db.models.expressions import RawSQL queryset.annotate(value = RawSQL("(jsonfield->%s)", ('key_name',))) queryset.values('value')
最初の引数がテンプレート文字列のようなものである、第二引数には、初の%s

に記入します
関連する問題