2 つのモデルの種類CourtDays
と Days があります。
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()
「日」と「名前」が週の 7 日間であっても、「日」と「名前」を削除して、代わりに and を使用CourtDays
してput() の 2 種類を使用できますか? と の両方が同じ ReferencePropertyを持つことに注意してください(また、同じ親も持つことになります)。また、otherと Days には同じ日が含まれていることに注意してください。Days
key_name="day"
key_name="name"
CourtDays
Days
CourtDays
また、メソッドget_or_insert()
を使用して、たとえば「月曜日」のCourtDays
orエンティティを修正できるが、一意性を維持できるようにすることはできますか? データストアのドキュメントDays
には、「アトミック性を確保するために、get および後続の (可能な) put 操作はトランザクションにラップされています。これは、既存のエンティティを決して上書きしないことを意味します...」と述べているためです。そのフレーズにもかかわらず、これは、「Model.get_or_insert (key_name, **kwds)」の後に a が続き、特定のインスタンスを上書きできることを意味しますか?get_or_insert()
put()