谷歌应用引擎中的多对多关系

时间:2014-11-05 13:15:58

标签: google-app-engine

我在查询多对多关系时遇到严重问题。 我有帐号,api密钥,连接ID,优先级,源ID,用户ID和标签,如读取,未读,已加星标(如gmail中所示)。 1个帐号可能包含许多usersId,1个userId可能包含不同的帐号。 任务是如果我输入帐号,它应该给出用户,读取和未读消息的计数(单独计数)。如果查询是带有userId的帐号,那么它应该显示该userId的读取和未读消息的计数。

如果查询了任何字段,则应该显示其他字段。

1 个答案:

答案 0 :(得分:0)

您可能希望在中间创建一个新的模型或"表格。涵盖那种关系。例如:

class AccountUserRelation(db.Model):

    account = db.ReferenceProperty(Account,
                                   required=True,
                                   collection_name='users')

    user = db.ReferenceProperty(User,
                                required=True,
                                collection_name='accounts')

您可以查看官方文档。在这里,您可以找到有关Modeling Entity Relationships的一些信息,并阅读“多对多”的信息。获得一些想法的部分。