Я думал, что легче будет начать использовать форму моделей вместо обычных форм (отказаться от всех простых вещей, которые предоставляет модель). Но когда я пытаюсь сделать это:Работа с формами форм в Django
>>> m = Model.objects.get(pk=1)
>>> f = ModelForm(instance=m)
>>> f.is_valid()
False
>>> f.save()
AttributeError: 'ModelForm' objects has no attribute 'cleaned_data'
Я думаю, Джанго documentation неправильно, говоря:
Каждая форма производства ModelForm также имеет метод сохранения(). Этот метод создает и сохраняет объект базы данных из данных, привязанных к форме . Подкласс ModelForm может принимать экземпляр существующей модели как экземпляр аргумента ключевого слова; если это будет предоставлено, save() обновит этот экземпляр. Если это не входит в комплект, кроме() создаст новый экземпляр указанной модели
Причина это просто не работает для меня.
Я прав, что документация django неверна?
Заранее спасибо.
Вы знаете, используя ModelForm (независимо от экземпляра = m) или ModelForm (data = whatever, instance = m), получается то же самое в этом случае. Тем не менее, я не могу обновить только одно поле, он говорит, что каждое поле требуется, что делает is_valid return False. Но это должно иметь какое-то отношение к моей модели. –
Да, я знаю. В фрагменте кода был включен только параметр «instance =» для инициализации ModelForm. Также: включите в свой вопрос более релевантный код. И: документация Django, безусловно, не является ошибочной в этом пункте, о котором вы упомянули. – mawimawi