Google app engine 如何组织新闻/评级/评论数据库?
我的网站将有可能评价他们的新闻,并留下评论。每个用户只能对一条新闻进行一次评分,并且只留下一条评论。同时,我应该知道哪个用户对新闻进行了评分,谁留下了评论 如何组织这样的数据库 我考虑以下结构:Google app engine 如何组织新闻/评级/评论数据库?,google-app-engine,google-cloud-datastore,Google App Engine,Google Cloud Datastore,我的网站将有可能评价他们的新闻,并留下评论。每个用户只能对一条新闻进行一次评分,并且只留下一条评论。同时,我应该知道哪个用户对新闻进行了评分,谁留下了评论 如何组织这样的数据库 我考虑以下结构: class News(db.Model): news = db.TextProperty() added = db.DateTimeProperty(auto_now_add=True) rating = db.ReferenceProperty(NewsRatings)
class News(db.Model):
news = db.TextProperty()
added = db.DateTimeProperty(auto_now_add=True)
rating = db.ReferenceProperty(NewsRatings)
comments = db.ReferenceProperty(NewsComments)
added = db.DateTimeProperty(auto_now_add=True)
class NewsRatings(db.Model):
user = db.ReferenceProperty(Users)
rating = db.IntegerProperty()
added = db.DateTimeProperty(auto_now_add=True)
class NewsComments(db.Model):
user = db.ReferenceProperty(Users)
comment = db.TextProperty()
added = db.DateTimeProperty(auto_now_add=True)
class Users(db.Model):
user = db.IntegerProperty()
这是正确的方法吗?我能知道是谁为特定的新闻留下了特定的评论吗?您当前的模型只允许每个新闻项目有一个评级和一个评论(每个评论可能属于任意数量的新闻项目)。相反,将
ReferenceProperty
放在newsregratings
和newcomments
上,引用它们所属的News
项目。当前模型只允许每个新闻项目有一个评级和一个注释(每个都可以属于任意数量的新闻项目)。相反,将ReferenceProperty
放在NewsRatings
和NewsComments
上,引用它们所属的News
项。它是一个对象模型-在类名中删除复数。它是一个对象模型-在类名中删除复数。