Fügen Sie vor dem Speichern Daten zum ModelForm-Objekt hinzu

Sagen, ich habe ein Formular, das wie folgt aussieht:

forms.py

class CreateASomethingForm(ModelForm):
    class Meta:
        model = Something
        fields = ['field2', 'field3', 'field4']

Möchte ich die form auf diese drei Felder. Aber mein Something - Klasse hat auch field1. Meine Frage ist - wie kann ich Daten hinzufügen field1wenn ich mich nicht mit der ModelForm Daten zu sammeln. Ich habe versucht, etwas wie das zu tun, aber es funktioniert nicht und ich bin nicht sicher, auf dem richtigen Weg, um dieses Problem zu lösen:

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 

Die Fehler ich erhalte, ist:

TypeError: 'CreateAClassForm' object does not support item assignment

In Django, was ist der richtige Weg, zuweisen von Daten zu einer ModelForm Objekt vor dem speichern?

InformationsquelleAutor der Frage Joker | 2013-06-15

Schreibe einen Kommentar