【发布时间】:2016-08-12 10:03:42
【问题描述】:
是否有让 Google App Engine 中的数据存储区在使用 ReferenceProperty 的情况下执行级联删除的概念?据我了解,GAE 中的 Datastore 不是关系数据库。然而,考虑一个简单的模型,用户可以喜欢博客文章。
class Post(db.Model):
subject = db.StringProperty(required=True)
content = db.TextProperty(required=True)
created = db.DateTimeProperty(auto_now_add=True)
created_by = db.ReferenceProperty(User, required=True,
collection_name='posts')
和:
class Like(db.Model):
post = db.ReferenceProperty(Post, required=True, collection_name='likes')
user = db.ReferenceProperty(User, required=True, collection_name='likes')
在删除帖子时,我希望也删除所有“喜欢”。
def delete(self, post_key):
""" Deletes a post from the datastore """
db.delete(post_key)
# TODO: Should really delete any corresponding likes
# and comments too (else they're be orphaned)
那么,我必须自己编写这些删除喜欢的代码,还是 GAE 可以自动完成?
感谢任何人提供的任何帮助以增加我的理解。
【问题讨论】:
标签: google-app-engine google-cloud-datastore