Si tengo un modelo de formulario y guardarlo como:Guardar modelo de formulario. Obtener el objeto guardado
f = FormModel(request.POST)
if f.is_valid():
f.save()
¿Cómo puedo volver a ese objeto que acaba de ser salvado?
Si tengo un modelo de formulario y guardarlo como:Guardar modelo de formulario. Obtener el objeto guardado
f = FormModel(request.POST)
if f.is_valid():
f.save()
¿Cómo puedo volver a ese objeto que acaba de ser salvado?
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.
¡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()
Si sabe que el modelo se guarda (de modo que existe una instancia apropiada) también se puede hacer:
model = form.instance