Powiedzmy, że mam modelMann django, który chcę edytować przed zapisaniem.Django: Pobierz instancję modelu z formularza bez zapisywania
Na przykład
Zamiast tego
model_instance = form.save()
chciałbym zrobić coś takiego
model_instance = form.get_model() model_instance.edit() #say add a new field which is not available on form model_instance.save()
I Właśnie znalazłem to gdzieś i byłem już w drodze, by samemu dodać odpowiedź. :) –
Jeśli użyjesz 'form.save (commit = False)', django nie zapisze relacji ManyToMany. Musisz wywołać 'form.save_m2m()' po zapisaniu instancji samemu. [Django ModelForms # Save] (https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#the-save-method) –
Dzięki. To, co zdezorientowało mnie, to fakt, że chciałem odnieść się do form.instance, ale jest ono dostępne tylko po wywołaniu save(). – trojjer