問題タブ [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 に答える
5871 参照

python - Django rest フレームワークのシリアライザは、json ではなくリストを返します

次のタグと投稿オブジェクトが多対多の関係にあります。ポストシリアライザーで返そうとしているのは、json の代わりに (Tag.name のみを使用して) リスト内のタグを返すことです。これを行うクリーンな方法は何ですか?

serializers.py

現在、PostSerializer はすべてのフィールドを含む json 形式のタグを返します。文字列リストで ['tag1', 'tag2', 'tag3'] というタグを返すようにしたいだけです。

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

django - factory_boy で django の投稿をテストする

テストでFactory boyを使い始めたばかりで、うまく機能しています。

私はcrudビューをテストしたいので、ある時点で、アクションを作成および更新するために(jsonで)データを投稿する必要があります。

テストコンテンツを次のようにしたいと思います。

これは明らかに機能していません。それ<factory.containers.StubObject object at 0x7ffa34e375d0> is not JSON serializable を行う方法はありますか?または、すべての投稿データを自分で入力する必要がありますか? (フォーム自体や検証はテストしていません。投稿の応答のみをテストしています。

乾杯

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

arrays - 複数のオブジェクトのシリアル化 - json 表現 - リスト表現の代わりに配列を使用

サーバー部分を構築するために Django Rest フレームワークを使用しています。私は次のモデルを持っています:

そして、ネストされたリレーションシップを使用する私のシリアライザーは次のとおりです ( here ):

そして私の見解:

最後に次のような JSON があります。

しかし、私はしたいです

出来ますか?私たちを手伝ってくれますか?

前もって感謝します!

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

django - 検索ビュー/シリアライザー - Django Rest Framework

DRF API に検索ビューを実装する方法はありますか? たとえば、サイトで次のコードを使用して、ユーザーが検索バーにキーワードを入力して結果を返せるようにしています。

私のAPIに使用するためにDRFでこれを行う方法はありますか?

前もって感謝します!

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

django - Djangoのフォーム検証と同様に、Django Rest Framework(DRF)でModelSerializersのカスタムフィールド検証を作成する方法は?

現在、DRF に基づいて API を作成しています。次のようなモデルがあります。

このモデルに対応するシリアライザーは次のとおりです。

私の質問は、データを取得しながらモデルの「名前」フィールドを検証したいということです。たとえば、Django フォームに似た Python コードを使用して、ユーザーの姓または名のチェックを終了することができます。

Serializers.serializer クラスで「validate_(fieldname)」と呼ばれるものを知っています。しかし、これを代わりに Serializers.ModelSerializer で使用したい (Django のカスタム フォーム検証と同様)。

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

django - 中間テーブルを持つ多対多関係のジャンゴネストされたシリアル化

多対多の関係を持つテーブルのネストされた関係を逆シリアル化およびシリアル化する方法に関する多くの投稿を見てきましたが、中間テーブルが多対多の関係で使用されている場合、逆シリアル化を実現できません。

これは、中間テーブルが 2 つの外部キー (リレーションに参加している 2 つのテーブルからそれぞれ 1 つずつ) を必要とするためです。

OrderItem中間テーブルを介して多対多の関係にあるOrderモデルとServiceモデルがあります。

次のような JSON リクエストを渡す必要があります。

「service_time」要素と「address」要素はOrderテーブルに保存されます。ここで、"items" JSON 配列で問題が発生します。「service_id」( Serviceテーブルへの外部キー)を渡します。これは必須フィールドであるため、「order」(Order テーブルへの外部キー) も渡す必要があります問題は、リクエストが送信されたときにOrderテーブルの主キーが不明であることです (Order も同じリクエストの一部として作成されるため)。このシナリオで逆シリアル化を実現するにはどうすればよいですか?

私はこのようなことを試みましたが、うまくいきませんでした。

「Service」オブジェクトに属性「order」がないというエラーが表示されます。

Serviceモデルに「order」属性がないことはわかっていますが、 ServiceオブジェクトではなくOrderItemオブジェクトを作成しています。

どんな提案も役に立ちます!

編集:使用されるモデルの追加

Edit2: 他の関連するシリアライザーを追加しました。

忘れていた重要なことの 1 つは、データは DB に保存されますが、それでも例外が発生するということです。

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

python - エラーメッセージを表示する Django Rest Framework HTML POST フォーム このフィールドは送信後に必要です

私のmodels.pyは

ここに私のシリアライザーとビューセットがあります

としてログインしているときに、HTML POST フォームを表示できますSuperuser。しかし、HTML POSTフォームを送信中にエラーメッセージが表示されますThis field is required。ここのコードのエラーは何ですか。事前にご協力いただきありがとうございます。

ここに画像の説明を入力ここに画像の説明を入力