Cześć,
Pisze aplikacje w django rest framework i mam pewien problem podczas aktualizacji profilu użytkownika. Kiedy aktualizuję profil użytkownika, nie aktualizuję mi sie kolor. Poniżej wrzucam kod.
Z góry dziękuje za pomoc:)
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='profile', on_delete=models.CASCADE)
color = ColorField(default='#1976D2', blank=False)
def __str__(self):
return '{} {}'.format(self.user.first_name, self.user.last_name)
class UserProfileSerializer(serializers.ModelSerializer):
class Meta:
model = UserProfile
fields = "__all__"
class UserSerializer(serializers.ModelSerializer):
full_name = serializers.SerializerMethodField()
profile = UserProfileSerializer(read_only=True)
class Meta:
model = User
fields = ('id', 'username', 'first_name', 'last_name', 'full_name', 'is_staff', 'is_superuser', 'profile')
extra_kwargs = {'password': {'write_only': True, 'required': True}}
def get_full_name(self, obj):
return '{} {}'.format(obj.first_name, obj.last_name)
def put(self, request, pk):
instructor_id = User.objects.get(pk=pk)
instructor_serializer = UserSerializer(instructor_id, data=request.data)
if instructor_serializer.is_valid():
instructor_serializer.save()
return JsonResponse(instructor_serializer.data)
return JsonResponse(instructor_serializer.errors, status=status.HTTP_400_BAD_REQUEST)