Как добавить разрешение на уровне объекта на определенное поле модели в 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

Нужно ли применять разрешение на уровне объекта? Как это сделать?

Вернуться на верх