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

python - Django Rest Framework カスタム フィールドのみの値のペア (dict キーとしてのフィールド名なし)

こんにちは、REST サービスでキーなしで値のペアのみを提供したい:

私のserializers.pyを見てください:

結果は次のとおりです。

ご覧のとおり、この結果では、フィールドの名前がそのフィールドの値の横に dict キーとして表示されます。しかし、私は別の構造を持ちたいと思っています。次のように:

この例は、キーと値のペアを示しています。ここで、キーは言語フィールドの値であり、dict の値は翻訳されたフィールドの値です。

フィールド名なしで「翻訳済み」フィールドを持つ「言語」フィールドの値のペアのみを表示するにはどうすればよいですか?

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

python - DRF ModelSerializer でカスタム応答を生成する

私はいくつかの助けが必要です, 私はで使用ModelSerializerしましたDRF, ここに問題があります:

応答を動的に生成したい、つまりユーザーの入力を決定するので、リクエストパラメータを に渡しModelSerializer、条件が確立されているかどうかを判断し、フィールドを生成し、そうでない場合は他のフィールドを生成する必要があります。

このようなもの:

私はググって、シリアライザーを使用contextしてパラメーターを渡すことができることを知りましたが、シリアライザーではオブジェクトを介してパラメーターを取得する必要がありselfます。

これどうやってするの?

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

django - 外部キーでの Django rest フレームワークのシリアル化

次のようなdjangoモデルがあります。

そして私は次のようなシリアライザーを持っています:

B シリアライザーは次のように機能します。

次のようにするには、何を微調整する必要がありますか。

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

django-rest-framework - djangoのUserDetailsS​​erializerにuserprofileを追加する方法

モデルに追加しようとしuserprofileていますuser

使用:
django レスト フレームワーク。
rest-auth モジュール

しかし、エラーprofile = instance.userprofileを与える行:
*** django.db.models.fields.related.RelatedObjectDoesNotExist: User has no userprofile.

ここからの指示に従います

また、super声明で何が起こっているのかわからない

考えられるエラー:
1.ステートメントの後にinstanceないため、エラーを与えるステートメント2.を追加する必要がありますuserprofilesuper
profile = instance.userprofile
userprofileUserDetailsSerializer

UserDetailsS​​erializer

ユーザーシリアライザー

必要に応じて、より明確にするよう求めてください。
前もって感謝します。

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

python - DRF でカスタム ユーザー モデルをシリアル化する方法

チュートリアルを参照して、カスタム ユーザー モデルを作成しました。これは、新しいユーザー モデルをシリアル化する方法です。

Serializers.py

Views.py

しかし、このシリアライザーを使用しようとすると、

「str」オブジェクトには属性「_meta」がありません

私は何を間違えましたか?