Добавить через поле пользователя в сериализатор - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть следующие модели

class User(AbstractUser):
  email = models.EmailField(_('email address'), unique=True)
  display_name = models.Charfield()

class Team(models.Model):
  display_name = models.Charfield()
  users = models.ManyToManyField(User, through='TeamUser')

class TeamUser(models.Model):
  team = models.ForeignKey(Team, on_delete=models.CASCADE)
  user = models.ForeignKey(User, on_delete=models.CASCADE)
  role = models.IntegerField(_('role'), choices=[(g.id, g.name) for g in TeamRoles.all()], default=0)
  color = models.CharField(_('color'), max_length=10)
  class Meta:
    unique_together = ('team_id', 'user_id',)

Я хочу добавить роль и цвет в сериализаторы (используя request.user) Как я могу сделать для этого TeamSerializer?

1 Ответ

0 голосов
/ 22 апреля 2020

Чтобы иметь возможность добавить что-то новое во входящий HTTP-запрос, который вы получаете. вам нужно ввести его по запросу. пример.

self.request.GET.set('color', 'green') // this is in case of HTTP/GET
self.request.POST.set('color', 'green') // this is in case of HTTP/POST
...