В старом ndb
хранилище данных можно создать StructuredProperty
. Это было благодаря предоставленной ndb.Model
.
Однако в новом облачном хранилище данных ndb недоступен. Итак, как мы можем реализовать функциональность, аналогичную ndb.StructuredProperty, в новом облачном хранилище данных?
У меня есть модель JobApplication, которая имеет один или несколько объектов Education и Experience:
class Education:
def __init__(self, institution):
institution = self.institution
class Experience:
def __init__(self, workplace):
workplace = self.workplace
class JobApplication:
def __init__(self):
self.educations = None
self.experiences = None
def add_education(self, education):
self.educations.append(education)
def add_experience(self, experience):
self.experiences.append(experience)
edu_1 = Education('aol')
edu_2 = Education('myspace')
jobapp = JobApplication()
jobapp.add_education(edu_1)
jobapp.add_education(edu_2)
Хотя этот вид работает на reading
сущность, он становится сложным при попытке update
сущности. Например, как я смогу обновить edu_2
в объекте JobApplication
?
Использовать старый подход ndb очень просто:
class Education(ndb.Model):
institution = ndb.StringProperty()
class JobApplication(ndb.Model)
education = ndb.StructuredProperty(Education, repeated=True)
Как мне достичь этого результата используете новый Cloud Datastore?