Ich bin über die modelforms Helfer lernen, und es ist mein Verständnis, dass Best Practice für Formularvalidierung wird einfach das Formular in ein DB Modellobjekt nach einem einfachen Code wie so gespart werden:Saving Django Forms DB
def my_view(request):
# if this is a POST request we need to process the form data
if request.method == 'POST':
# create a form instance and populate it with data from the request:
form = MyForm(request.POST)
# check whether it's valid:
if form.is_valid():
form.save()
return redirect somewhere
else:
form = MyForm()
return render(request, 'mysite.html', {'form': form})
Es gibt jedoch zusätzliche Daten, die ich diesem Modellobjekt hinzufügen möchte, das nicht explizit im Formular enthalten ist. Was ist zum Beispiel, wenn ich dem Objekt einen Datumsstempel hinzufügen möchte, der auf der Serverseite generiert wird? Wie gehe ich vor, um mehr Informationen in dasselbe Modellobjekt zu speichern, und welche Best Practices dafür?
Was meinst du mit 'mehr Daten'? Mehr Felder zu einem Modell? – trantu
Call Save mit 'commit = False'. Es gibt Hunderte von Beispielen zu SO. –
Mit mehr Daten meine ich mehr Felder. Angenommen, ich habe ein Feld in meinem Modell, das eine Datumszeit erstellt hat, aber ich möchte dieses Datum auf der Serverseite und nicht über das Formular generieren. Wie füge ich diese zusätzlichen Felder nachträglich dem Modellobjekt in der DB hinzu? – DudeDudeDude