Предположим, у меня есть следующие (упрощенные) модели и соответствующие сериализаторы, наборы представлений и настройки маршрутизатора для 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/
Вопросы:
- Как настроить маршрутизатор, наборы просмотра и сериализаторы для достижения этой цели?
- Есть ли лучший способ, чем мое предлагаемое целевое решение?
- У меня были проблемы с поиском заголовка для этого вопроса (и, следовательно, с поиском связанных вопросов), какие ключевые слова я ищу?
Спасибо большое!