在适用于 Python 的 App Engine 中,是否有类似 Objectify(Java 库)的东西,我可以在其中轻松地将一个类嵌入另一个类并将其保存到数据存储区?
此类的建模类似于以下示例,其中 Venue 包含 Location 对象。我想将其作为一个嵌套对象持久保存,并能够通过嵌入对象中的字段进行查询。
类 Location():
city = db.StringProperty()
state = db.StringProperty()
field 类(db.Model):
名称 = db.StringProperty()
位置 = 位置 ()
这里是关于它如何在 App Engine for Java 的 Objectify 中工作的信息。
http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#@Embedded
这可能使用 Python 吗?
最佳答案
考虑使用引用属性。 IE。将 Location 对象存储为它自己的实体,并通过引用将该位置合并到 Venue 对象中。
class Location():
city = db.StringProperty()
state = db.StringProperty()
class Venue(db.Model):
name = db.StringProperty()
location = db.ReferenceProperty(Location)
然后,如果您想同时在 Location 和 Venue 上进行交易,请使用数据存储交易。
编辑:要查询“包含”对象中的字段,请使用数据存储“反向引用”。 IE。 Venue 包含对 Location 的引用这一事实意味着 Location 也包含对 Venues 的引用。请参阅:http://code.google.com/appengine/docs/python/datastore/datamodeling.html#References
关于python - 在适用于 Python 的 App Engine 中,是否可以保留一个嵌套在其中的另一个对象的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6753545/