Проблема в написании Django Rest Api Permission class для обновления просмотра - PullRequest
0 голосов
/ 26 сентября 2019

У меня проблемы с написанием класса разрешений для updateView.

. Я использую пользовательскую модель, которая расширяется до AbastractBaseUser

. Это мои модели:

class Person(models.Model):
    person_choice = [
        ('MA', 'MESS ADMIN'),
        ('MM', 'MESS MEMBER'),
    ]
    auth_user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='user_auth')
    name = models.CharField(max_length=50)
    person_type = models.CharField(choices=person_choice, max_length=50)
    mess = models.OneToOneField('mess.Mess', on_delete=models.PROTECT, null=True, blank=True, related_name='person_mess')

class Mess(models.Model):
    name = models.CharField(max_length=50, null=False, blank=False)
    address = models.CharField(max_length=300)
    admin = models.OneToOneField(Person, on_delete=models.CASCADE, related_name='mess_admin')
    members = models.ManyToManyField(Person, related_name='mess_members')

и это мой взгляд на Mess

class AddMessMemberView(UpdateAPIView):
    serializer_class = MessSerializers
    permission_classes = ()
    queryset = Mess.objects.all()
    lookup_field = 'pk'

Я хочу реализовать в этом обновлении View * MESS ADMIN беспорядка может обновить Mess модель, но MESS MEMBERне могу обновить эту модель беспорядка.

Я думаю, мне нужно написать класс разрешений для представления, но я не понимаю, как написать класс разрешений для этого представления.

Может кто-нибудь помочь мне в этомслучай

...