2011-09-15 21 views

Respuesta

22

Al guardar un modelo, devuelve la instancia guardada del modelo. Así que todo lo que tiene que hacer es asignar a una variable:

f = MyModelForm(request.POST) 
if f.is_valid(): 
    m = f.save() 

que no es necesario perder el tiempo con commit=False o cualquiera de esas cosas a menos que usted está manejando datos más complejos.

4

¡Acabo de encontrar esto!

# Create a form instance with POST data. 
>>> f = AuthorForm(request.POST) 

# Create, but don't save the new author instance. 
>>> new_author = f.save(commit=False) 

# Modify the author in some way. 
>>> new_author.some_field = 'some_value' 

# Save the new instance. 
>>> new_author.save() 

# Now, save the many-to-many data for the form. 
>>> f.save_m2m() 
9

Si sabe que el modelo se guarda (de modo que existe una instancia apropiada) también se puede hacer:

model = form.instance 
Cuestiones relacionadas