Django rest framework обновление профиля пользователя
Как можно обновить объект пользователя с расширенной моделью профиля, я хочу получить поля в одном объекте, например: { имя пользователя, email, [...], пол, аватар, }
models.py:
from django.db import models
from django.contrib.auth.models import User
class Profile(models.Model):
GENDER_CHOICES = (('Male', 'Male'),('Female', 'Female'))
user = models.OneToOneField(User, on_delete=models.CASCADE)
gender = models.CharField(max_length=6, blank=True, choices=GENDER_CHOICES)
avatar = models.ImageField(upload_to=avatar_upload, default='avatars/default.png')
serializers.py
from .models import Profile
from django.contrib.auth.models import User
class UserSerializer(serializers.ModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='user-detail', lookup_field='pk', read_only=True)
pk = serializers.IntegerField(read_only=True)
class Meta:
model = User
fields = ('pk', 'username', 'email', 'first_name', 'last_name', 'url')
class ProfileSerializer(serializers.ModelSerializer):
class Meta:
model = Profile
fields = ('gender', 'avatar',)
views.py
class UserUpdateView(APIView):
def put(self, request, *args, **kwargs):
pass