Как обновить поле self.request.user в django rest framework?
Мне нужно обновить запрашиваемое поле пользователя, когда я создаю организацию из OrganizationViewSet
, как показано ниже,
class OrganizationViewSet(viewsets.ModelViewSet):
queryset = Organization.objects.all()
serializer_class = OrganizationSerializer
permission_classes = [permissions.IsAuthenticated]
def perform_create(self, serializer):
serializer.save(admin_user=self.request.user)
data = serializer.data
org_id = data['id']
self.request.user.update(organization=org_id) # Error is coming from this line
Вышеприведенный код генерирует следующую ошибку,
'User' object has no attribute 'update'
Вот мой файл User models.py
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(_('email address'), unique=True)
organization = models.ForeignKey(
"organization.Organization", on_delete=models.CASCADE, null=True, blank=True)
first_name = models.CharField(max_length=200, blank=True)
last_name = models.CharField(max_length=200, blank=True)
phone = models.CharField(max_length=20, blank=True)
Итак, мой вопрос в том, как я могу обновить запрашиваемую организацию пользователей? Есть помощь?
update
является методом на QuerySet
, а не на Model
Вы можете сделать model.save
следующим образом, чтобы получить желаемое поведение
self.request.user.organization = org_id
self.request.user.save()