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
项。

它是一个对象模型-在类名中删除复数。它是一个对象模型-在类名中删除复数。