問題タブ [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 投票する
3 に答える
9058 参照

django - Django Serializer AttributeError: 'unicode' オブジェクトには属性 'isoformat' がありません

(カスタマイズされた) Django ユーザー モデルのインスタンスを次のようにシリアル化しようとしています。

models.py で:

上記の Employee モデルでは、User モデルから継承した属性に加えて、次のモデル フィールド タイプを使用します: CharField()、NullBooleanField()、IntegerField()、DateField()、DecimalField()

問題のコード:

(私はWadOfStuffのDjangoフルシリアライザープラグインをインストールしていますが、それが問題になる場合があります-しかし、この場合、フルシリアライザーの機能を使用していないため、標準のDjangoシリアライザーにデフォルト設定する必要があると思います)

シリアル化が試行される直前の従業員 __dict__ (いくつかのキー フィールドが匿名化されている):

部分的なトレースバック:

この場合、エラーの原因やシリアライゼーションを機能させる方法はありますか? おそらく、シリアライザーが気に入らないある種の属性があると思われます-どの属性をどのように特定できますか?

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

django - Django ディープシリアライゼーション - 逆外部キー制約に従う

外部キー関係を持つ 2 つのモデルがあります。

会社のインスタンスを JSON でシリアル化し、外部キー関係を持つすべての従業員を含めたいと考えています。IE の場合、次のような JSON を作成したいと考えています。この JSON には、会社のすべてのフィールドと、関連するすべての従業員のすべてのフィールドが含まれています。

Django シリアライザーは関係をシリアライズしません。ここでの他の質問は、深いシリアル化の方法を尋ねてきましたが、逆方向です - IE、従業員とその関連会社をシリアル化します。これらの質問への回答は、wadofstuff django-full-serializer プラグインを使用すると、この種の深いシリアライゼーションを実行できることを指摘しています。問題は、wadofstuff プラグインがこれらの関係を一方向にしかたどらないことです。逆方向の外部キー制約には従いません。だから、私はここで自分自身をロールバックしようとしています。これを達成する方法について何か提案はありますか?

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

python - 保存前にdjango-rest-frameworkシリアライザーオブジェクトを編集する

django-rest-framworkシリアライザ オブジェクトを保存する前に編集したい。これが私が現在行っている方法です-

django-rest-frameworkシリアライザーオブジェクトでどうすればできますか?

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

django - Why is json.dumps with DjangoJSONEncoder returning a string for a Integer field?

So I have this code:

//views.py

I send this back to iOS. Now, I have this weird problem where amps is being sent as a integer, and iOS sees that, and in the case of Volts and Amps, it is being sent as String?!

This has happened to me in other models as well. Any ideas?!

Thanks!

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

javascript - データベース ID 番号が GAE Launcher で非常に大きいですか?

GAE Launcher の前回の更新以来、データストアに作成される ID が大きすぎます。5330010158992982016 のように、Javascript ではこれらの数値が丸められるため、これは私にとって問題です。

たとえば、JS では

[{"pk": 5330010158992982016, "model": " .... }] のような JSON の読み取り、

GAE サーバーで同じ問題が発生するかどうかはわかりません。IDサイズを制限するアイデアはありますか?

Django を使用していますが、Django と Google モデルで同じ問題が発生しています。

アップデート:

プロジェクトのすべての JavaScript コードの変更を強制しない解決策を見つけました。私の場合は多いです。誰もが言うように、最良の方法は PK (または ID) を文字列として使用することです。しかし、私はdjangoシリアライザーを使用しており、私のバージョンとJSONでは、PKは数値として設定されています。簡単な解決策は、シリアライザークラスでこれを変更することです(または、オリジナルを拡張してこれを変更する新しいシリアライザーを作成します):

strings_only を False に設定します。JSON の pk を引用符で囲みます。すべての JavaScript コードは変更なしで機能します。

問題は... djangoシリアライザーに強制的に文字列として配置させる他の方法はありますか?

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

python - Django - モデルにない属性をシリアライズする

追加データを使用してモデルをシリアル化しようとしています。私のモデルは次のようになります。

HTML5/Ajax を使用して緯度/経度を渡しています。それを取得したら、カスタム マネージャーを使用して現在の場所までの距離を計算しています。

results[0].distance を実行すると、距離が得られます。ビューに戻り、結果をシリアル化しますが、「フィールド」セクションには名前、緯度、経度のみが含まれます。次のようにシリアライズ関数に「距離」を渡すと: serialized_data = serializers.serialize('json', results, fields="distance")

フィールドの値が空で、モデルに「距離」が含まれていないことを示しています。どうすればいいですか?

ありがとう。