我有两种模型,CourtDays
天数:
class CourtDays(db.Model): #parent is Courts
court = db.ReferenceProperty(Courts)
reserveMaxTimeBefore = db.ListProperty(int)
reserveMinTimeBefore = db.ListProperty(int)
day = db.StringProperty()
class Days (db.Model):
court = db.ReferenceProperty(Courts)
startTime = db.ListProperty(int)
endTime = db.ListProperty(int)
startTimeLunch = db.ListProperty(int)
endTimeLunch = db.ListProperty(int)
name = db.StringProperty()
即使“day”和“name”是一周中的 7 天,我可以删除其中的“day”CourtDays
和“name” Days
,而是使用key_name="day"
and for put() 这两种类型吗?key_name="name"
请注意,两者都CourtDays
具有Days
相同的 ReferenceProperty (并且也将具有相同的父级)。此外,请注意 otherCourtDays
和 Days 将涉及相同的日期,但对于其他 CourtLocations 的父级和引用的其他法院。
此外,该方法get_or_insert()
是否可用于确保“星期一”的CourtDays
或Days
实体可以修改但保持唯一?我问是因为数据存储文档说“get 和后续(可能的)put 操作被包装在事务中以确保原子性。这意味着get_or_insert()
永远不会覆盖现有实体,......”。尽管有这个短语并且正因为如此,这是否意味着“Model.get_or_insert(key_name,**kwds)”后面可以跟一个put()
并覆盖特定实例?