Заполните форму на одной странице разными классами - запишите в БД и выведите значения

У меня есть модель с 5 объектами, и я собираюсь создать форму (на той же странице), но не знаю, как объединить несколько форм.

В общем, я могу очень хорошо играть с формами и писать в базу данных, но мне нужно разместить больше полей на странице. Эти поля имеют разные модели. ** Мои модели: учитель, учетная запись (ReferenceProperty), опыт (ReferenceProperty), ServiceDistribution(ReferenceProperty), опыт (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')**

Помогите, пожалуйста...

1 ответ

Если я вас правильно понял, вы можете создать формы для каждой модели и отобразить их в шаблоне с помощью единственной кнопки сохранения. Теперь, после отправки, вы можете проверить каждую форму и добавить или обновить БД по мере необходимости.

Вот ссылка на ответ на вопрос, аналогичный тому, который вы задали. Django: несколько моделей в одном шаблоне с использованием форм

Другие вопросы по тегам