Как изменить (или подделать) свойства поля формы ImageField в Django?
У меня есть модель, которая включает поле ImageField (назовем его my_project.models.Profile
) и соответствующую форму (my_project.forms.ProfileForm
). Допустим, имя поля модели - picture
. Я пишу тесты для формы и мне нужно проверить обработку свойства content_type
базового объекта ImageField файла формы моим собственным проектом. Я никак не могу понять, где я должен изменить это свойство, чтобы проверить различные сценарии.
Что я выяснил:
- django.forms.fields.ImageField имеет метод
to_python
, который преобразует загруженные двоичные данные в реальный файл изображения (https://github.com/django/django/blob/aec71aaa5b029640ce066fe5dc34f7a0050d50b2/django/forms/fields.py#L621). - Для этого он использует PIL.Image. .
- После того, как изображение успешно открыто Pillow, объекту файла, который будет возвращен
to_python
, присваивается свойствоcontent_type
, взятое из словаря PIL.Image.MIME (https://github.com/django/django/blob/aec71aaa5b029640ce066fe5dc34f7a0050d50b2/django/forms/fields.py#L653).
Каким будет правильный путь для mock.patch
?