2012-03-13 11 views
6

Mam pewien problem z formularzami Django, które wydaje mi się, powinny zdecydowanie mieć rozwiązanie już napisane.Heterogeniczne formularze w formularzu django

Mam kilka różnych form, które są przedstawione w taki sam widok czegoś jak ... (Niestety tylko za pomocą kodu pseudo teraz) ..

class Form1(): 
    #different attributes 

class Form2() 
    #different attributes 

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

Oprócz Chcę dać użytkownikowi możliwość dodania instancji formularza jednej z klas formularzy dostępnych przez jquery, więc formularz może stać się

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

Szukając rozwiązania problemu, natknąłem się na koncepcję formuły Django, która jak opisuje dokumentacja, jest zbiorem instancji tej samej klasy Form. Jednak jak widzę formsets może mieć zdolność do obsługi formularzy heterogenicznych, a także:

z niektórymi definicjami zmienił

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 ... 

Czy jest coś złego w sposób myślę o tym problemie?

Odpowiedz

Powiązane problemy