В настоящее время я использую тип forms.Form
для одной из моих форм, потому что мне нужно было указать для них много параметров, таких как набор запросов, отключен, требуется.
Фрагмент параметров, о которых я говорю в моем forms.py
class InputClassInformation(forms.Form):
module = forms.ModelChoiceField(queryset=Module.objects.all())
title = forms.CharField(disabled=True, required=False)
Форма позволит пользователям обновлять определенные поля в записи, это означает, что мне придется использовать параметр instance
, как показано здесь https://docs.djangoproject.com/en/2.2/topics/forms/modelforms/#the-save-method. Однако я получаю эту ошибку, когда запускаю свой код в views.py
if Class.objects.filter(module__subject=subject).exists():
a = Class.objects.filter(module__subject=subject)[0].pk
form = InputClassInformation(request.POST, instance=a)
Ошибка :
TypeError at /input-class-info/
__init__() got an unexpected keyword argument 'instance'
Я знаю, что это было бы хорошо, если бы я использовал ModelForm
, но попытка указать все параметры, которые мне нужны в ModelForm
, была трудной, поэтому есть ли способ указать экземпляр, который я хочу обновить, пока используя forms.Form
?