Преобразование несвязанной формы в связанную?

Я хочу, чтобы связанная форма из объекта использовала метод is_valid. Причина в том, что у меня есть старые данные, которые я хочу, чтобы пользователи исправили в соответствии с новыми правилами валидации. Затем я хочу повторно использовать код чистых методов в своей форме.

В итоге я сериализовал свой ответ:

from django.utils import simplejson
from django.core.serializers import serialize

(...)

fields_dict = simplejson.loads(serialize('json', [obj]))[0]['fields']
form = forms.MyForm(fields_dict)
if form.is_valid

Это работает, но выглядит не очень по-джангистски. Кроме того, это кажется распространенной проблемой, поэтому я искал лучший способ сделать это.

Согласно документации, перевод данных из несвязанной формы в связанную не должен происходить: https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#the-save-method. Однако для меня это было бы самым простым решением.

5
задан J-a-n-u-s 15 July 2019 в 04:42
поделиться