私は、ユーザーがブログ投稿をupvoteまたはdownvoteできるアプリを持っています。Google App Engineのソーシャル投票
Upvote(user_id=User.key.id(), blog_id=Blog.key.id()).put()
、ユーザーがすでに私をupvotedしているかどうかを確認するために:投票機能を実装するために、私は、ユーザーがポストをupvotesとき、私は経由してそれを保存
class Upvote(ndb.Model):
user_id = ndb.IntegerProperty(required=True)
blog_id = ndb.IntegerProperty(required=True)
...以下のモデルを作成しましたクエリ:
Upvote.query(Upvote.user_id=User.key.id(), Upvote.blog_id=Blog.key.id())
これは、投票システムを実装する最も効率的な方法ですか?私はそれがUpvote
モデルが非常に大きくなることができるように確かめたい。もちろん、私は今や時期尚早に最適化していますが、何百万人ものユーザーがいる理論的な状況では、最も効率的で安価な方法を欲しがっています。