Скажем, у меня есть форма, которая выглядит так:
forms.py
class CreateASomethingForm(ModelForm):
class Meta:
model = Something
fields = ['field2', 'field3', 'field4']
Я хочу, чтобы форма имела эти три поля. Однако мой класс Something
также имеет field1
. Мой вопрос: как добавить данные в field1
, если я не использую ModelForm
для сбора данных. Я пробовал делать что-то подобное, но он не работает, и я не уверен, как правильно это решить:
views.py
def create_something_view(request):
if (request.method == 'POST'):
# Create an object of the form based on POST data
obj = CreateASomething(request.POST)
# ** Add data into the blank field1 ** (Throwing an error)
obj['field1'] = request.user
# ... validate, save, then redirect
Получаемая ошибка:
TypeError: 'CreateAClassForm' object does not support item assignment
В Django, каков правильный способ назначения данных объекту ModelForm
перед сохранением?