Как работать с ndb.StructuredProperty (repeat = True) Свойства, когда дело доходит до проектирования их форм и обработчиков? Рассмотрим следующий пример:Google AppEngine: Обработка формы «повторяется» StructuredProperty
Я получил 3 ndb.Model видов: SkilledPerson, его Образование, и его (работа) Опыт. Последние два являются StructuredProperty типов SkilledPerson.
class SkilledPerson(ndb.Model):
name = ndb.StringProperty()
birth = ndb.DateProperty()
education = ndb.StructuredProperty(Education, repeated = True)
experience = ndb.StructuredProperty(Experience, repeated = True)
class Education(ndb.Model):
institution = ndb.StringProperty()
certification = ndb.StringProperty()
start = ndb.DateProperty()
finish = ndb.DateProperty()
class Experience(ndb.Model):
job_title = ndb.StringProperty()
workplace = ndb.StringProperty()
start = ndb.DateProperty()
finish = ndb.DateProperty()
Как создать форму для Квалифицированный Person лица? Он будет отображать простые поля, такие как имя и рождение (StringProperty и DateProperty). Кроме того, он должен отображать «группу» полей для Образование и Опыт Свойства StructuredProperty. Я хотел бы представить форму, чтобы выглядеть следующим образом:
<form method="post">
<h2>Skilled Person Form</h2>
<label>Name<br>
<input type="text" name="name" value="{{name}}">
</label>
<label>Birth<br>
<input type="date" name="birth" value="{{birth}}">
</label>
<!-- Education form goes here -->
<!-- and Experience form goes here -->
<input type="submit">
</form>
Как включить группы полей для образования и опыта в этой форме?
Пример Образование форма:
<form method="post">
<h2>Add Education</h2>
<label>Institution<br>
<input type="text" name="institution" value="{{institution}}">
</label>
<label>Certification<br>
<input type="text" name="certification" value="{{certification}}">
</label>
<label>Start<br>
<input type="date" name="start" value="{{start}}">
</label>
<label>Finish<br>
<input type="date" name="finish" value="{{finish}}">
</label>
<input type="submit">
</form>