2009-11-08 6 views
2

J'ai Django Modèle avec de nombreux champs que l'utilisateur doit remplir. Si je crée un ModelForm pour ce modèle, il sera assez grand pour un formulaire. Je veux le diviser en utilisant FormWizard. Je pense qu'il est possible d'abord de créer des formulaires de façon dynamique, puis de créer un formulaire en les utilisant.Comment créer Django FormWizard pour un modèle?

Est-ce une bonne approche ou existe-t-il un meilleur moyen?

Répondre

2

Pour moi, ça semble bien.

L'approche pour créer des formes partielles est écrit dans le docs.

En bref:

class PartialAuthorForm(ModelForm): 
    class Meta: 
     model = Author 
     fields = ('name', 'title') 

class PartialAuthorForm(ModelForm): 
    class Meta: 
     model = Author 
     exclude = ('birth_date',) 

façon dynamique de le faire serait:

def gimme_my_form(field_tuple): 
    class MyForm(ModelForm): 
     class Meta: 
      model = MyModel 
      fields = field_tuple 
    return MyForm 

Finalement, vous pouvez également paramétrer la modéliser de cette façon.

+0

Non, je n'aime pas ça. Ce n'est pas correct pour mon modèle, il y aurait au moins 4 onglets contenant chacun 10 champs (moyens). – giolekva

+1

Quel est le problème avec ça? S'il vous plaît, précisez l'utilisation que vous voulez. Ensuite, nous pouvons proposer une approche appropriée. – Kugel

+1

OK Je viens de me rendre compte que vous voulez un chemin dynamique, j'ai édité ma réponse. – Kugel

Questions connexes