Как мне работать со свойствами ndb.StructuredProperty(repeated = True) при разработке их форм и обработчиков? Рассмотрим этот пример:
У меня есть 3 типа ndb.Model: SkilledPerson, его Образование и его (работа) Опыт. Последние два являются типами SkilledPerson StructuredProperty.
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()
Как мне создать форму для сущности Квалифицированный специалист? Он будет отображать простые поля, такие как имя и рождение (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>