Как добавить разрешение на уровне объекта на определенное поле модели в Django Rest Framework?
У меня есть модель:
class Employee(models.Model):
name = models.CharField(max_length=128)
nic = models.CharField(max_length=25, unique=True)
def __str__(self) -> str:
return self.name
class Team(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField("Employee")
def __str__(self) -> str:
return self.name
class Standup(models.Model):
team = models.ForeignKey("Team", on_delete=models.CASCADE)
employee = models.ForeignKey("Employee", on_delete=models.CASCADE)
work_done = models.DateTimeField(auto_now=True)
Это набор представлений:
class StandupViewSet(ModelViewSet):
serializer_class = serializers.StandupSerializer
queryset = Standup.objects.all()
Когда я обращаюсь к API для публикации данных standup, поле Standup.employee должно отображать только того сотрудника, который в данный момент вошел в систему, чтобы он не мог выбрать других сотрудников. Администратор может видеть всех сотрудников: https://i.stack.imgur.com/sASrq.png
Нужно ли применять разрешение на уровне объекта? Как это сделать?