問題タブ [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.

0 投票する
5 に答える
76897 参照

python - Django queryset.values()をjsonにシリアル化する方法は?

私は多くのフィールドを持つモデルを持っていますが、この問題のために必要なのはそれらのフィールドのうちの3つだけです。セットをシリアル化しようとすると.values、例外が発生します。

'dict'オブジェクトには属性'_meta'がありません

これは私のコードです:

0 投票する
3 に答える
401 参照

python - djangoシリアライザは外部キーIDをdbに問い合わせます

私はdjangoシリアライザーを使用していくつかのオブジェクトをシリアル化しますが、問題は、オブジェクトから取得するだけでなく、各シリアル化がdbから外部キーのIDをクエリすることです。

django コードを変更せずにこの動作を変更する方法はありますか? 会社のテーブルにクエリを実行することはわかっていますが(理想的な世界では発生しないはずです)、シリアライザーにオプションがあり、データベースにクエリを実行しないa.company.idようなことを行いますa.company_id

0 投票する
1 に答える
30902 参照

json - Djangoシリアライザーで「dict」オブジェクトに属性「_meta」がありません

...
AttributeError: 'dict' オブジェクトには属性 '_meta' がありません

0 投票する
0 に答える
587 参照

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: テストに使用しているコードも書いています。これをシェルで実行しています。

0 投票する
2 に答える
827 参照

django - JSON 応答をキャッチして表示する方法は?

モデルからデータを取得し、その後JSONにシリアル化する次のビューがあります。

ビュー.py

クライアント側では、このコンテンツを表示したいと思います。getJSONこれをアーカイブするためにjQueryの機能を使用しています。何も表示されず、setTimeout も機能しません。しかし、firebugでデバッグすると応答が返さalert()れますが、データを表示する関数は呼び出されません。私はしばらくの間、問題が何であるかを理解しようとしてきました。私のスクリプトに何か問題があるのだろうか?

JavaScript

0 投票する
2 に答える
9261 参照

python - djangoは外部キーオブジェクトをシリアル化します

すでに同じことを求める質問がいくつかあります。しかし、それらは2010年のものであり、あまり役に立ちませんでした。それで、2010年以降、この面での更新があったのではないかと思います。

グーグルで私は自然キーの使用法を説明するこのリンクを見つけました。しかし、私の問題は、そこから異物を取得することに関するものなので、役に立ちません。django.contrib.auth.models.User

私の問題は次のとおりです。QuerySetをシリアル化して、外部キーオブジェクトも取得するようにします。これは、JSONとしてクライアントに渡すためです。からのdjango.coreシリアライザーはそれを行いません。したがって、私の場合、単に問題を解決するために、モデルに別のフィールドを追加して、外部オブジェクトから必要な値を含めました。ただし、冗長データが発生します。

私のサンプルモデルには、username可能であれば削除したいものが含まれており、代わりに外部キーで取得します。

0 投票する
1 に答える
886 参照

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に記載されていますが、これは私が持っています。

0 投票する
1 に答える
269 参照

django - カスタムm2m「スルー」を使用したdjangoデシリアライズオブジェクトの古いm2m_dataへのアクセス

m2m リレーションがカスタムの「スルー」で作成された場合、デシリアライズされた Django モデル インスタンスの古い m2m_data にアクセスするにはどうすればよいですか?

逆シリアル化されたオブジェクトの m2m_data フィールドには、カスタム「スルー」を持つ m2m フィールドが含まれていません。deserialized_object.object.filed でそのフィールドにアクセスしようとすると、ORM は DB にクエリを実行し、その m2m リレーションの現在のレコードを返します...

0 投票する
2 に答える
30688 参照

python - モデルを使用して Django で JSON 応答を作成する

ここで問題が発生しています。メッセージとモデル インスタンスで構成される JSON 応答を返そうとしています。

しかし、私は取得し続けます:

何故ですか?私は前に見た:

それは機能します...違いは何ですか?!

ありがとう!

0 投票する
0 に答える
129 参照

python - Django は、モデル メソッドの出力をシリアル化されたオブジェクトに追加します

私は、他の関連する子オブジェクトと比較したときに、含まれている値が構成されているパーセンテージを計算するメソッドを持つモデルを持っています:

このオブジェクトをシリアル化して JSON で出力するとき、JSON 出力内にそのパーセント メソッドの値を含めたいと思います。

model_to_dict辞書を使用して値を追加するさまざまなハッキーな方法を試しました。serializers_serializeこれはデータのダンプには問題なく機能しますが、データのダンプ時に Django の組み込み関数が行うモデル キーが保存されないため、再読み込み時に問題が発生します。

use_natural_keysのオプションも使用したいと思っていますがserializers_serialize、当然model_to_dictこれは含まれていません。これもハックで追加できると思いますが、システムと非常に戦っているようです。何か案は?