2012-03-13 16 views
6

Tengo un cierto problema con los formularios de Django que me parece que definitivamente debería tener una solución ya escrita.Formas heterogéneas en django formset

Tengo un par de diferentes formas que se presentan en el mismo punto de vista algo así como ... (Lo siento simplemente usando pseudocódigo por ahora) ..

class Form1(): 
    #different attributes 

class Form2() 
    #different attributes 

<html> 
    <form> 
    {{ 1-instance-Form1 }} 
    {{ 2-instance-Form1 }} 
    {{ 1-instance-Form2 }} 
    {{ 2-instance-Form2 }} 
    </form> 
</html> 

Aparte de que quiero darle al usuario la posibilidad de agregar una instancia de formulario de una de las clases de formulario disponibles a través de jquery para que el formulario se convierta en

<html> 
    <form> 
    {{ 1-instance-Form1 }} 
    {{ 2-instance-Form1 }} 
    {{ 1-instance-Form2 }} 
    {{ 2-instance-Form2 }} 
    {{ 3-instance-Form2 }} 
    </form> 
</html> 

Ahora, al buscar una solución para manejar un problema de este tipo, me encontré con el concepto de formsjan de Django que, como describe la documentación, es una colección de instancias de la misma clase de Formulario. Sin embargo lo que puedo ver juegos de formularios pueden tener la capacidad de manejar formas heterogéneas así:

Con algunas definiciones cambió

class BaseHeterogenousFormSet(StrAndUnicode): 

    def append(form): 
    #add one more form to the formset 

    def is_valid(): 
    #run is_valid for each of the forms in the formset 

    def clean(): 
     #run the clean for each of the forms ... 

¿Hay algo malo con la forma en que estoy pensando en este problema?

Respuesta

Cuestiones relacionadas