問題タブ [django-jsonfield]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ネストされたjsonfieldキーを照会するためのdjango-ormルックアップはありますか?
私のテーブルには、 meta_data という名前の JsonField 列があります。そのエントリの 1 つは次のとおりです。
{'abc':'zyz', 'name':{'pranav':'age', 'john':'age'}}
Jsonfield でクエリを実行するには、__has_key
ルックアップを使用します。
table.objects.filter(id__in=id_list, meta_data__has_key='name')
'pranav'
次のようなキーが内部にあるかどうかを確認するのに役立つdjangoルックアップがあるかどうかを調べ'name'
たい:
table.objects.filter(id__in=id_list, meta_data__has_key__has_key='pranav')
またはそのようなもの
これに関するご意見ありがとうございます...!
django - JSONField() を使用した API クエリの最適化
最初のオープニング: postgresql JSONFields を利用しています。
モデルに次のattribute
(フィールド) があります。User
私は基本的に現在、DRF を使用してフロントエンドで各ユーザーの特典をシリアル化しています。
UserBenefit.objects.filter(user=user)
根底にある返される利点はほとんど変化せず、ゆっくりと変化するため、 QuerySetのパフォーマンスを改善するために、変更があるたびに JSON をデータベースに「キャッシュ」することを考えました。代わりに、user.benefits
10 万人以上のユーザーを超える DB 負荷になり、できれば軽減します。
第 1 問:
これを行う必要がありますか?
第 2 四半期:
serializer.data
<class 'rest_framework.utils.serializer_helpers.ReturnList'>
JSONフィールドに対応するものを効率的に書く方法はありますか?
私は現在使用しています:
data = serializers.serialize("json", UserBenefit.objects.filter(user=self))