2009-08-12 10 views
6

En this Django Doc explica cómo crear un formset que le permite editar libros pertenecientes a un autor en particular.Django Formset sin instancia

Lo que quiero hacer es: Crear un formset que te permita AGREGAR un nuevo libro perteneciente a un autor NUEVO ... Agregar el Libro y sus Autores en el mismo formset.

¿Se puede encender una luz? Gracias.

Respuesta

8

Cuando crea una instancia del formulario y del formset para la visualización inicial, no necesita proporcionar una instancia, de modo que obtendrá formularios en blanco.

Cuando pasa los datos en POST, puede hacer primero el formulario, guardarlo y obtener una instancia. Luego puede pasar esa instancia al formset, de modo que guarde correctamente los objetos relacionados.

+1

Gracias, luces: si request.method == "POST": bookform = BookForm (request.POST) b = bookform .save (commit = False) b.save() formset = PadreFormSet (request.POST, request.FILES, instancia = b) if formset.is_valid(): formset.save() Me funcionó, ¡Gracias! – panchicore

0

Esto depende de si lo está haciendo usted mismo o utilizando el administrador incorporado.

Si está utilizando el administrador, puede usar inlines.

Si está haciendo esto en su propia aplicación, entonces depende de usted. Cree un único formulario que tenga campos para un nuevo author y book. Cuando el usuario envía el formulario, es su trabajo crear los nuevos registros.

Cuestiones relacionadas