Dodaj dane do obiektu ModelForm przed zapisaniem
Powiedz, że mam formularz, który wygląda tak:
form.py
class CreateASomethingForm(ModelForm):
class Meta:
model = Something
fields = ['field2', 'field3', 'field4']
Chcę, aby formularz miał te trzy pola. Jednak mójSomething
klasa też mafield1
. Moje pytanie brzmi - jak dodać dane dofield1
, jeśli nie używamModelForm
zbierać dane. Próbowałem zrobić coś takiego, ale to nie działa i nie jestem pewien, jak to rozwiązać:
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
Błąd, który otrzymuję to:
TypeError: 'CreateAClassForm' object does not support item assignment
W Django jaki jest właściwy sposób przypisywania danych doModelForm
obiekt przed zapisaniem?