Django: récupère l'instance du modèle à partir du formulaire sans enregistrer

Disons que j'ai un ModelForm django que je veux éditer avant d'enregistrer.

Par exemple

Au Lieu de cela,

model_instance = form.save()

Je voudrais faire quelque chose comme ceci

model_instance = form.get_model()
model_instance.edit() #say add a new field which is not available on form
model_instance.save()
23
demandé sur Ashok 2010-10-19 15:35:10

2 réponses

model_instance = form.save(commit=False)

Vous retournera un objet du modèle sans enregistrer dans la base de données

Vous pouvez ensuite ajouter de la valeur d'un champ qui n'est pas disponible sur le formulaire

model_instance.some_field = value
model_instance.save()
34
répondu Ashok 2010-10-19 11:42:39

Aussi:

model_instance = form.instance
# edit
model_instance.save()
4
répondu laffuste 2016-05-09 08:07:51