Django Rest Framework Router ManyToManyField关系管理URL

时间:2018-10-17 11:43:16

标签: python django django-rest-framework

假设我具有以下(简化的)模型以及DRF的相应序列化器,视图集和路由器设置。

class Event(models.Model):
    title   = models.CharField()
    players = models.ManyToManyField(Player)

class Player(models.Model):
    name = models.CharField()

我可以通过发出诸如这样的请求来编辑活动的成员资格

PATCH /api/event/3/ `{players: [2, 3]}`

这是有问题的,因为它会创建竞争条件(我需要提前知道旧成员才能添加新成员)

我想要的是类似的东西

POST /api/event/3/players/ {id: 2}
DELETE /api/event/3/players/2/

问题:

  1. 如何设置路由器,视图集和序列化程序以实现此目的?
  2. 有没有比我提出的目标解决方案更好的方法?
  3. 我在查找该问题的标题(从而搜索相关问题)时遇到问题,我正在寻找哪些关键词?

非常感谢您!

0 个答案:

没有答案