Django rest framework очищает FileField при отправке формы PUT от других полей

В моей модели есть необязательное поле FileField, которое может быть установлено, например, в методе POST. К сожалению, это поле всегда очищается в методе PUT.

Моя модель определена следующим образом:

class MyModel(models.Model):

    myfile = models.FileField(upload_to=_upload_to, blank=True, null=True)

Это работает как ожидалось на странице Django Admin, давая мне возможность явно установить флажок "Clear". Но в форме Django Rest Framework я могу создать новый экземпляр с помощью POST, но если я затем обновляю свою модель с помощью PUT, она не только обновляет измененные поля, но и очищает мое поле FileField.

Мой класс сериализатора выглядит следующим образом:

class MyModelSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = MyModel
        fields = ['url', 'id', 'myfile']

Я также пробовал использовать это в сериализаторе, но безрезультатно:

myfile = serializers.FileField(required=False, allow_null=True)
Вернуться на верх