問題タブ [django-related-manager]

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 に答える
7781 参照

python - Django:特定のユーザーからすべてのオブジェクトを取得する

ユーザーからのすべてのAnnounceオブジェクトを表示しようとすると問題が発生します。私の問題は次のとおりです。ID = 1のユーザーとしてログインしていると考えてください。/users/1/にアクセスすると、すべての投稿が表示されます。しかし、問題は、/users/2/ に移動して id=2 を持つ別のユーザーからのすべての投稿を表示したいときに、id=2 のユーザーではなく、すべての Announce オブジェクトを表示することです。

models.py

ビュー.py

urls.py

user_announces_list.html

次のようなものを使用する必要がありますか: Announce.objects.get(pk=???) ?

私はあなたの助けに感謝します!

0 投票する
2 に答える
1037 参照

django - 方法: 外部関係を持つオブジェクトを追加、編集、および削除するためのビューとシリアライザーを作成する django rest フレームワーク

外部キーを許可するビューとシリアライザーを作成する方法について、django と django rest フレームワークに関するすべてのドキュメントを接続するのに非常に苦労しています。

編集: ここに答えがあるかもしれません: http://www.django-rest-framework.org/api-guide/relations/#writable-nested-serializers

例 私はこれらのモデルを持っています。

都市を選択して、その都市にあるすべての近隣を表示し、近隣を追加、編集、近隣を削除できるようにしたいと考えています。

おそらく、都市が持つすべての地区を取得するか、都市の新しい地区を作成するための URL

もう 1 つは近隣を編集および削除するためのものです。

現在、DRF GenericsのListCreateAPIViewとを使用しています。RetreiveUpdateDestoryAPIView

query_setrelatedモデルが持つすべての関係を取得できるようなオプションがあることを理解しています。

私たちには選択肢があることを知っていx_setます。私の例ではこのように使用されています。Searchcity.SearchNeighborhood_set.all()

関連するシリアライザーがあることは知っています

そして、私がそれらを作成する適切な方法は次のとおりです。

しかし、このユースケースではどのように使用すればよいでしょうか?

http://www.django-rest-framework.org/api-guide/relations/#serializer-relations

リンクはここにあります http://gregblogs.com/tlt-how-to-retrieve-the-fields-of-a-related-model-from-a-django-残りのフレームワーク エンドポイント/

しかし、それは関連するオブジェクトの編集、削除で機能しますか?

最終的に、私は多くの調査を行いましたが、亀裂を埋め、このことを本当に理解するために助けを求めています. これは一般的な使用例であり、多くのユーザーが以前に使用したことがあると確信しています。

編集:

この質問は間接的に私の答えのように見えますが、まだわかりません。これからも様子を見ながらテストしていきたいと思います。私が見つけたものを見てください。

外部キーとして使用される削除オブジェクト

0 投票する
2 に答える
34 参照

django - モデルがモデルの外部キーセットに含まれているかどうかを確認する方法は? Django、Django レスト フレームワーク

会場と多対 1 の関係を持つルーム モデルがあります。

会場には多くの部屋がある場合があります。

残りのフレームワークで http メソッドを設定しようとしているので、パーミッションを追加するとうまくいきます。

したがって、誰かが会場からルームを削除したい場合、1 その人物がその会場へのアクセス許可を持っていることを確認する必要があります 2 そのルームがその会場に接続されていることを確認する必要があります

会場モデルを取得してから会場モデル room_set を取得し、room_set をチェックして、削除したいモデルのルーム プライマリキーを持つルームが存在するかどうかを確認します。

私がこれまでに持っているもの:

会場の部屋を相互にやり取りして、会場の部屋の各オブジェクトをチェックできることを願っていますが、会場の部屋はpythonオブジェクトではないため、機能しないと強く感じていますか? おそらくそうです。forループを実行した後、この質問を更新するか、すべてが正常に機能していることがわかった場合は削除する可能性があります。

私の質問は、どのようにルーム セットを取得し、検索している roompk を持つルームがその中にあるかどうかを確認する方法です。

予想通り、私が試みたコードでエラーが発生しました:

私が得たエラー:

私ができることのアイデアはありますか?

新しい編集:

そのため、以下の回答を実装all()し、会場の定義に追加しました

しかし、今は新しいエラーがあります。forループでNone属性を明らかにオーバーライドしているため、これは意味がありません。

エラー: