問題タブ [django-2.0]

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 投票する
1 に答える
702 参照

python - Django-haystack 2.6.1 は Django 2.0 と互換性がありますか?

私の質問は簡単です(タイトルのとおり)。現在の Django-haystack は最新の Django 2.0 と互換性がありますか? この組み合わせ使ってる人いる?

ドキュメントと PYPI の要件は、次のことを示唆しています。

しかし、次のユーザーは、Django 2.0 で使用しようとすると、私と同様に問題に直面します。

同じセットアップが Django 1.11 でも機能します。

ありがとう!

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

django - DRF - シリアライザーはネストされたシリアライザーを削除します

TL;DR: DRF は、最も外側のシリアライザーを検証するときに、内側のシリアル化されたオブジェクトを削除します。

私はdjango 2.0、django-rest-framework 3.7.7、python 3を使用しています。

POST で受信したいくつかのパラメーターを使用して、データベースで検索を実行する REST エンドポイントを構築したい (キャッシュされる可能性のある GET 呼び出しを避けたい)。パラメータは OR のように動作する必要があります (そのため、すべてのフィールドを必須ではないと設定しています) 。クエリセットを抽出するときにdjango Q クエリを使用して解決しています。

に次のdjangoモデルがありますapp/models.py

そして、次のシリアライザーを に書きましたapp/serializers.py

次に、REST インターフェイスを提供するビューを次のように記述しましたapi/views.py

そして、たとえばcurlを使用してクエリを実行しようとすると:

したがって、birth_place が設定された Person オブジェクトが作成されたばかりであってもです。ビューの post メソッドに配置した 2 つの print ステートメントは、次のように返します。

そのため、検証時に DRF がネストされたリレーションを削除するようです。

ネストされたリレーションも解析および検証するには、どのように指定すればよいですか? どんな提案でも大歓迎です。

PS: POST でリクエストを行うことで、間違った設計を強制していますか? 検索は冪等ではなく、人の機密データ (名前、姓、生年月日など) が含まれている可能性があるためだと思いました。安全な (検索でデータが変更されない) アクションが必要ですが、べき等ではありません (2 つの異なる時間での検索は異なる可能性があります)。

最初は generics.ListAPIView を使い始めましたが、list() は GET でしか機能しません。POST リクエストを受け入れるようにする方法があれば、魅力的に機能します。