0
Mein Modell hat einen erforderlichen Fremdschlüssel für das Benutzermodell. Auf der Formularübermittlung möchte ich den angemeldeten Benutzer als Übergeber speichern.django Benutzerobjekt als Feldwert im Formular festlegen submit
Aus meiner Sicht:
def myview(request):
if request.method == 'POST':
form = MyForm(request.POST)
myuser = User.objects.get(id=request.user.id)
form.submitter_field = myuser
if form.is_valid()
#this prints a failed message saying submitter_field is required
Das Übergabefeld ist erforderlich, daher kann ich 'is_valid()' nicht aufrufen, bevor ich das Feld einstelle. Doing 'form.save (commit = False)' vor 'is_valid()' throws und error: 'konnte nicht erstellt werden, da die Daten nicht validiert wurden. ' – smilebomb
Wenn das übergebende Feld von Ihrem Formular benötigt wird, entfernen Sie es einfach aus dem Formular oder legen Sie das übergebende Feld erforderlich = False fest. Sie können den Anfangswert auch in Ihrem Formular für das Übergabefeld festlegen, indem Sie 'form = MyForm (request.POST oder None, initial = {'submitter': request.user})' 'ausführen – WayBehind