問題タブ [django-serializer]
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 - Django queryset.values()をjsonにシリアル化する方法は?
私は多くのフィールドを持つモデルを持っていますが、この問題のために必要なのはそれらのフィールドのうちの3つだけです。セットをシリアル化しようとすると.values
、例外が発生します。
'dict'オブジェクトには属性'_meta'がありません
これは私のコードです:
python - djangoシリアライザは外部キーIDをdbに問い合わせます
私はdjangoシリアライザーを使用していくつかのオブジェクトをシリアル化しますが、問題は、オブジェクトから取得するだけでなく、各シリアル化がdbから外部キーのIDをクエリすることです。
django コードを変更せずにこの動作を変更する方法はありますか? 会社のテーブルにクエリを実行することはわかっていますが(理想的な世界では発生しないはずです)、シリアライザーにオプションがあり、データベースにクエリを実行しないa.company.id
ようなことを行いますa.company_id
json - Djangoシリアライザーで「dict」オブジェクトに属性「_meta」がありません
...
AttributeError: 'dict' オブジェクトには属性 '_meta' がありません
django - クエリセットを JSON にシリアライズするのに時間がかかります。どうすればこれをデバッグできますか?
Django モデル オブジェクトを 10000 個のバッチで json としてシリアル化し、送信しています。DjangoFullSerializersを使用しています関連するフィールドをオブジェクトと一緒にシリアル化することも望んでいたため、wadofstuff からこれを行うことができました。サーバー負荷のピーク時には、1 つのバッチが完了するまでに約 9 ~ 10 分かかります。MySQL の 10000 オブジェクトのフェッチには、1 ~ 2 秒かかります。JSON へのシリアル化が何をして、多くのオーバーヘッドがかかるのかわかりません。simplejson (関連するフィールドをシリアル化するオプションはありません) を使用してみましたが、それでも十分な時間がかかります。よくわかりませんが、wadofstuff は画面の後ろで simplejson を使用していると思います。Django で cjson を構成できなかったため、テストできませんでした。しかし、どうすれば最適に構成したり、現在のセットアップの使用を改善したりできますか? 直感的には、データがメモリにフェッチされると、10000 個のオブジェクトを JSON に変換するのにそれほど時間がかからないはずだと思います。cProfile を使用して取得したプロファイル ダンプを添付します。見て、いくつかの指針/ヒント/ヘルプを提案してください。
添付ファイル: cProfile ダンプ ファイル
前もって感謝します。
更新 1: テストに使用しているコードも書いています。これをシェルで実行しています。
django - JSON 応答をキャッチして表示する方法は?
モデルからデータを取得し、その後JSONにシリアル化する次のビューがあります。
ビュー.py
クライアント側では、このコンテンツを表示したいと思います。getJSON
これをアーカイブするためにjQueryの機能を使用しています。何も表示されず、setTimeout も機能しません。しかし、firebugでデバッグすると応答が返さalert()
れますが、データを表示する関数は呼び出されません。私はしばらくの間、問題が何であるかを理解しようとしてきました。私のスクリプトに何か問題があるのだろうか?
JavaScript
python - djangoは外部キーオブジェクトをシリアル化します
すでに同じことを求める質問がいくつかあります。しかし、それらは2010年のものであり、あまり役に立ちませんでした。それで、2010年以降、この面での更新があったのではないかと思います。
グーグルで私は自然キーの使用法を説明するこのリンクを見つけました。しかし、私の問題は、そこから異物を取得することに関するものなので、役に立ちません。django.contrib.auth.models.User
私の問題は次のとおりです。QuerySetをシリアル化して、外部キーオブジェクトも取得するようにします。これは、JSONとしてクライアントに渡すためです。からのdjango.core
シリアライザーはそれを行いません。したがって、私の場合、単に問題を解決するために、モデルに別のフィールドを追加して、外部オブジェクトから必要な値を含めました。ただし、冗長データが発生します。
私のサンプルモデルには、username
可能であれば削除したいものが含まれており、代わりに外部キーで取得します。
python - カスタムDjangoモデルフィールドをJSONシリアル化しようとするとTypeError
を格納するカスタム Django モデル フィールドを作成しましたdateutil.relativedelta
。フィールドは次のようになります。
このフィールドを持つオブジェクトをjsonにシリアル化しようとしています:
しかし、私はエラーが発生します:
を使用すると、この場合はオブジェクト自体であり、何にも変換されておらず、シリアライズされていないことpdb
がわかります。o
フィールドをシリアル化できるようにするにはどうすればよいですか?
Django のドキュメントには、( https://docs.djangoproject.com/en/dev/howto/custom-model-fields/#converting-field-data-for-serialization ) を追加するようvalue_to_string
に記載されていますが、これは私が持っています。
django - カスタムm2m「スルー」を使用したdjangoデシリアライズオブジェクトの古いm2m_dataへのアクセス
m2m リレーションがカスタムの「スルー」で作成された場合、デシリアライズされた Django モデル インスタンスの古い m2m_data にアクセスするにはどうすればよいですか?
逆シリアル化されたオブジェクトの m2m_data フィールドには、カスタム「スルー」を持つ m2m フィールドが含まれていません。deserialized_object.object.filed でそのフィールドにアクセスしようとすると、ORM は DB にクエリを実行し、その m2m リレーションの現在のレコードを返します...
python - モデルを使用して Django で JSON 応答を作成する
ここで問題が発生しています。メッセージとモデル インスタンスで構成される JSON 応答を返そうとしています。
しかし、私は取得し続けます:
何故ですか?私は前に見た:
それは機能します...違いは何ですか?!
ありがとう!
python - Django は、モデル メソッドの出力をシリアル化されたオブジェクトに追加します
私は、他の関連する子オブジェクトと比較したときに、含まれている値が構成されているパーセンテージを計算するメソッドを持つモデルを持っています:
このオブジェクトをシリアル化して JSON で出力するとき、JSON 出力内にそのパーセント メソッドの値を含めたいと思います。
model_to_dict
辞書を使用して値を追加するさまざまなハッキーな方法を試しました。serializers_serialize
これはデータのダンプには問題なく機能しますが、データのダンプ時に Django の組み込み関数が行うモデル キーが保存されないため、再読み込み時に問題が発生します。
use_natural_keys
のオプションも使用したいと思っていますがserializers_serialize
、当然model_to_dict
これは含まれていません。これもハックで追加できると思いますが、システムと非常に戦っているようです。何か案は?