У меня проблемы с написанием класса разрешений для 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
не могу обновить эту модель беспорядка.
Я думаю, мне нужно написать класс разрешений для представления, но я не понимаю, как написать класс разрешений для этого представления.
Может кто-нибудь помочь мне в этомслучай