Python 数据存储中的一对一和多对多关系?

Python 数据存储中的一对一和多对多关系?,python,google-app-engine,google-cloud-datastore,Python,Google App Engine,Google Cloud Datastore,我有如下所示的用户和项目模型 class User(db.Model): first_name = db.StringProperty(required=True) last_name = db.StringProperty(required=True) email_address = db.StringProperty(required=True) class Project(db.Model): name = db.StringProperty(requir

我有如下所示的用户和项目模型

class User(db.Model):
    first_name = db.StringProperty(required=True)
    last_name = db.StringProperty(required=True)
    email_address = db.StringProperty(required=True)

class Project(db.Model):
    name = db.StringProperty(required=True)
    time_required = db.IntegerProperty(required=True)
    manager = db.ReferenceProperty(User, collection_name='project_manager')
    members = db.ListProperty(db.Key)
这是一款项目管理应用程序。有几点需要注意

  • 每个项目只能有一名经理(一对一)
  • 一个用户可以管理多个项目(一对多)
  • 项目可以有许多团队成员。这可以通过 我想是的

  • 我不知道如何继续,而且我对数据存储和数据库设计还不熟悉。

    是否有一些东西不能如您所期望的那样工作?当你尝试使用这些模型时会发生什么?是的,请澄清问题。