問題タブ [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.
python - Django-haystack 2.6.1 は Django 2.0 と互換性がありますか?
私の質問は簡単です(タイトルのとおり)。現在の Django-haystack は最新の Django 2.0 と互換性がありますか? この組み合わせ使ってる人いる?
ドキュメントと PYPI の要件は、次のことを示唆しています。
- https://django-haystack.readthedocs.io/en/master/#requirements
- https://pypi.python.org/pypi/django-haystack/2.6.1
しかし、次のユーザーは、Django 2.0 で使用しようとすると、私と同様に問題に直面します。
同じセットアップが Django 1.11 でも機能します。
ありがとう!
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 リクエストを受け入れるようにする方法があれば、魅力的に機能します。