[解決済み] <Django object>はJSONシリアライザブルではありません。
2022-05-17 11:55:15
質問
クエリセットをシリアライズするために、次のようなコードを用意しました。
def render_to_response(self, context, **response_kwargs):
return HttpResponse(json.simplejson.dumps(list(self.get_queryset())),
mimetype="application/json")
そして、以下は私の
get_querset()
[{'product': <Product: hederello ()>, u'_id': u'9802', u'_source': {u'code': u'23981', u'facilities': [{u'facility': {u'name': {u'fr': u'G\xe9n\xe9ral', u'en': u'General'}, u'value': {u'fr': [u'bar', u'r\xe9ception ouverte 24h/24', u'chambres non-fumeurs', u'chambres familiales',.........]}]
これをシリアライズする必要があります。しかし、それは、シリアライズすることができないと言う
<Product: hederello ()>
. なぜなら、リストは django オブジェクトと dicts の両方から構成されているからです。何かアイデアはありますか?
どのように解決するのですか?
simplejson
そして
json
は django のオブジェクトではうまく動きません。
Django の組み込みの シリアライザー は、 django オブジェクトで満たされたクエリセットしかシリアライズできません。
data = serializers.serialize('json', self.get_queryset())
return HttpResponse(data, content_type="application/json")
あなたの場合
self.get_queryset()
は内部に django オブジェクトと dicts の混合を含んでいます。
の中のモデルインスタンスを取り除くのも一つの方法です。
self.get_queryset()
のモデルインスタンスを削除し
model_to_dict
:
from django.forms.models import model_to_dict
data = self.get_queryset()
for item in data:
item['product'] = model_to_dict(item['product'])
return HttpResponse(json.simplejson.dumps(data), mimetype="application/json")
お役に立てれば幸いです。
関連
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] クラスをJSONシリアライザブルにする方法
-
[解決済み] JSONをC#のダイナミックオブジェクトにデシリアライズする?
-
[解決済み】「datetime.datetime not JSON serializable」を克服する方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonはWordの読み書きの変更操作を実装している
-
Pythonによるjieba分割ライブラリ
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み] データ型が理解できない
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み] Django の Model オブジェクトを、全てのフィールドをそのままに dict に変換します。