0

5 つのエンティティを持つモデルがあり、(同じページに) フォームを作成しようとしていますが、複数のフォームを統合する方法がわかりません。

私のメインでは、フォームをうまく操作してデータベースに書き込むことができますが、ページにより多くのフィールドを配置する必要があります。これらのフィールドは異なるモデルのものです。** 私のモデル: Teacher、Account(ReferenceProperty)、Experience (ReferenceProperty)、ServiceDistribution(ReferenceProperty)、Experience(ReferenceProperty)

私のフォーム:

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

他のモデルも同様

私のメイン:

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')**

助けてください...

4

1 に答える 1

1

私が正しく理解していれば、モデルごとにフォームを作成し、保存ボタンが1つあるテンプレートに表示することができます。これで、送信時に、ビューで各フォームを検証し、必要に応じてデータベースを追加または更新できます。

これは、あなたが尋ねたものと同様の質問への回答へのリンクです 。Django:フォームを使用した1つのテンプレート内の複数のモデル

于 2010-08-17T12:11:31.787 に答える