私はユーザーがフィードを購読できる休憩APIを備えたdjangoアプリケーションを構築しています。django-rest-framework:多対多の関係を表現する方法は?
私のモデルは次のようになります。
class Profile(models.Model):
user = models.OneToOneField(
User, # standard django user
on_delete=models.CASCADE,
primary_key=True
)
subscriptions = models.ManyToManyField(Feed, related_name="subscribers")
class Feed(models.Model):
# These feeds are read-only for the subscribers
pass
は英語で説明:
を各ユーザープロファイルを持っています。これらのプロファイルはフィードに登録できます。 フィードは購読することしかできず、ユーザは によって作成または更新することはできません。
現在のユーザーのサブスクリプションを作成、読み取り、更新、および削除するための残りのエンドポイントを公開したいと考えています。もちろん、一般的なビューであるListCreateAPIView
とRetrieveUpdateDeleteAPIView
を使用したいと思いますが、このシリアライザとクエリーセットを使いやすくする方法を見つけることはできません。
私は/me/subscriptions/
でフィードのリストを直接返しましたが、POST
はサブスクリプションを作成する代わりにフィードを作成するので奇妙です。
私は混乱しています...どんなヒントもありがとうございます!
ユーザープロファイルは 'request.user'に基づいていますか?例えば、 'GET''/subscriptions/'はそのユーザのために' Feed'を返すべきです。 'POST'はそのユーザへのmtmリンクを作成するべきですか? –