Обновление фотографии профиля, когда profile_photo является FK в модели пользователя, и я хочу обновить фотографию из модели пользователя

В задаче, которую я решаю с помощью DRF, мне нужно обновить картинку профиля пользователя и картинку обложки. Вот часть моих моделей/пользователей:

profile_photo = models.ForeignKey(to=Photo, related_name='profile_photo',on_delete=models.CASCADE, blank=True)
cover_photo = models.ForeignKey(to=Photo, related_name='cover_photo', on_delete=models.CASCADE, blank=True)

В то же время таблица Photo db выглядит примерно так:

url_path = models.FileField(max_length=300)
photo_type = models.ForeignKey(to=PhotoType,on_delete=models.CASCADE)

Я создал классы сериализатора таким образом, но не могу понять, как написать метод update для обновления profile_picture из аспекта пользователя или создать его, если экземпляр фотографии не существует.

class PhotoSerializer(serializers.ModelSerializer):
    photo_type = serializers.PrimaryKeyRelatedField(queryset=PhotoType.objects.all(), many=False)
    class Meta:
        model = Photo
        fields = ['id', 'url_path', 'photo_type']

class UserPhotoSerializer(serializers.ModelSerializer):
    profile_photo = PhotoSerializer(many=False)
    class Meta:
        model = User
        fields = ['id','profile_photo']
Вернуться на верх