2010-08-15 16 views
0

I ont un modèle avec 5 entités et ont l'intention de créer un formulaire (sur la même page), mais ne savent pas comment intégrer plus d'une forme .Remplissez un formulaire sur la même page avec des classes différentes - écrire à DB et l'affichage des valeurs

Dans mon principal, je peux très bien jouer avec les formes et écrire à la base de données, mais je dois mettre plus de champs sur la page. Ces champs sont de modèles différents. ** Mes modèles: enseignants, compte (ReferenceProperty), Expérience (ReferenceProperty), ServiceDistribution (ReferenceProperty), Expérience (ReferenceProperty)

Mes formes:

class TeacherForm(djangoforms.ModelForm): 
    class Meta: 
     model =models.Teacher 
     exclude = ['user'] 

et les mêmes pour les autres modèles

Mon principal:

class CreateCvHandler(webapp.RequestHandler): 
    def post(self): 
     if self.request.get('EscTeacher'): 
      id = int(self.request.get('EscTeacher')) 
      teacher=models.teacher.get(db.Key.from_path('Teacher', id)) 
     else: 
      teacher= models.teacher() 

     data = forms.TeacherForm(data = self.request.POST) 
     if data.is_valid(): 

      userList= models.Account.all() 
      userList.filter('user =', users.get_current_user()) 

      for user in userList: 
       teacher.user=user.key() 
      teacher.unity=self.request.get('unity') 
      teacher.category=self.request.get('category') 
      teacher.regime=self.request.get('regime') 


      teacher.put() 
      self.redirect('/academy') 
     else: 
      self.redirect('/createCv')** 

Aide S'il vous plaît ...

+0

Je suis désolé si je n'étais pas spécifique. Mon programme aidera les enseignants à répondre à leur curriculum vitae. La feuille sera imprimée en format pdf. Cette feuille unique a plusieurs formes qui sont de différentes classes. Jusqu'à présent, seulement vu des exemples de formulaires avec une seule classe et j'ai du mal à obtenir le formulaire avec plus d'une classe, écrire sur DB et afficher les données. Dans mon cas particulier, la feuille avec les formulaires aurait cinq classes. – Martinho

Répondre

1

Si je comprends bien ce que vous pouvez faire est de créer des formulaires pour chaque modèle et de les afficher dans le modèle ayant un seul bouton Enregistrer. À votre avis, vous pouvez maintenant valider chaque formulaire et ajouter ou mettre à jour la base de données selon vos besoins.

Voici un lien vers une réponse à une question similaire à ce que vous avez demandé .. Django: multiple models in one template using forms

+0

Merci Shwetanka. un coup d'oeil je vais, si ce que je thats besoin, mais votre point est juste. – Martinho