問題タブ [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 rest フレームワークのシリアライザは、json ではなくリストを返します
次のタグと投稿オブジェクトが多対多の関係にあります。ポストシリアライザーで返そうとしているのは、json の代わりに (Tag.name のみを使用して) リスト内のタグを返すことです。これを行うクリーンな方法は何ですか?
serializers.py
現在、PostSerializer はすべてのフィールドを含む json 形式のタグを返します。文字列リストで ['tag1', 'tag2', 'tag3'] というタグを返すようにしたいだけです。
django - factory_boy で django の投稿をテストする
テストでFactory boyを使い始めたばかりで、うまく機能しています。
私はcrudビューをテストしたいので、ある時点で、アクションを作成および更新するために(jsonで)データを投稿する必要があります。
テストコンテンツを次のようにしたいと思います。
これは明らかに機能していません。それ<factory.containers.StubObject object at 0x7ffa34e375d0> is not JSON serializable
を行う方法はありますか?または、すべての投稿データを自分で入力する必要がありますか? (フォーム自体や検証はテストしていません。投稿の応答のみをテストしています。
乾杯
arrays - 複数のオブジェクトのシリアル化 - json 表現 - リスト表現の代わりに配列を使用
サーバー部分を構築するために Django Rest フレームワークを使用しています。私は次のモデルを持っています:
そして、ネストされたリレーションシップを使用する私のシリアライザーは次のとおりです ( here ):
そして私の見解:
最後に次のような JSON があります。
しかし、私はしたいです
出来ますか?私たちを手伝ってくれますか?
前もって感謝します!
django - 検索ビュー/シリアライザー - Django Rest Framework
DRF API に検索ビューを実装する方法はありますか? たとえば、サイトで次のコードを使用して、ユーザーが検索バーにキーワードを入力して結果を返せるようにしています。
私のAPIに使用するためにDRFでこれを行う方法はありますか?
前もって感謝します!
django - Djangoのフォーム検証と同様に、Django Rest Framework(DRF)でModelSerializersのカスタムフィールド検証を作成する方法は?
現在、DRF に基づいて API を作成しています。次のようなモデルがあります。
このモデルに対応するシリアライザーは次のとおりです。
私の質問は、データを取得しながらモデルの「名前」フィールドを検証したいということです。たとえば、Django フォームに似た Python コードを使用して、ユーザーの姓または名のチェックを終了することができます。
Serializers.serializer クラスで「validate_(fieldname)」と呼ばれるものを知っています。しかし、これを代わりに Serializers.ModelSerializer で使用したい (Django のカスタム フォーム検証と同様)。
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 に保存されますが、それでも例外が発生するということです。