Заполните форму на одной странице разными классами - запишите в БД и выведите значения
У меня есть модель с 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: несколько моделей в одном шаблоне с использованием форм