2
у меня есть свои модели и все, как это, когда я пытаюсь загрузить изображение это то, что я получил:UploadPhoto Джанго Rest Framework
'PhotoSerializer' object has no attribute '_committed
Мое мнение:
class UploadPhoto(APIView):
#authentication_classes = (TokenAuthentication,)
permission_classes =()#(IsAuthenticated,)
def put(self, request, username):
user = User.objects.get(username = username)
userprofile = UserProfile.objects.get(user= user)
photo = PhotoSerializer(data = request.data)
userprofile.photo = photo
userprofile.save()
return Response(status= status.HTTP_200_OK)
Serializer :
class PhotoSerializer(serializers.ModelSerializer):
class Meta:
model = UserProfile
fields = (
'photo',
)
И по крайней мере мой Model.py
class UserProfile(models.Model):
"""
User Profile
"""
user = models.OneToOneField(User, related_name='userprofile')
GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES, default='M')
phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$',message="Phone must be entered in the format: '+999999999'. Up 15 digits allowed.")
#The Field on DataBase after check if it's a valid Phone Number.
# validators should be a list
phone_number = models.CharField(validators=[phone_regex], max_length=15, blank=True)
photo = models.ImageField(upload_to = 'photos/', null = True)
driver_passenger = models.BooleanField(default=True)
rides_given = models.IntegerField(default=0)
rides_taken = models.IntegerField(default=0)
reputation = models.IntegerField(default=0)
Я попробовал несколько вариантов, чтобы загрузить фотографию, но я не мог реализовать таким образом, я ценю вашу помощь (: