有人可以创建一个团队并将人员添加到该团队中。因此,在任何时候,可能会有几个团队,其中有多个用户。团队数据结构具有CRUD功能。有点像github团队。
什么是最好的数据库结构?
我知道有很多方法-那么每种方法的优缺点是什么?这是新手,因此非常感谢任何问题。Django框架内置了您可以使用的用户和组模型。您应该在这里查看Django的文档https://docs.djangoproject.com/en/3.0/ref/contrib/auth/
您将能够在您创建的任何页面上验证用户,并通过使用您所使用的任何数据库的简单查询,就可以验证他们是否属于该团队(组),并有权访问该团队(组) )信息。
您可以从头开始创建自己的用户和团队模型,但至少要从Django的内置模型开始。
**** UPDATE ******
回答您的评论我将数据库结构如下:
用户:-名称-电子邮件-其他属性等-team(外键)
团队:- 队名-其他属性
在这种结构中,团队数据类型将没有特定的用户表,而是将利用关系数据库的优点。
使用关系数据库,我们可以简单地查询数据库以查看将哪些用户分配给特定团队。我们不需要直接在团队数据类型下分配用户。
我认为这是构建所需数据库的更好方法。
据我所知,听起来您对django也许还比较陌生,也许对Web开发和关系数据库来说还很新。我建议您多学习一些有关关系数据库如何整体工作的知识,并且也要使您正确地使用django,您应该阅读外键和许多模型。
https://docs.djangoproject.com/en/3.0/topics/db/examples/many_to_many/
抱歉,这可能会拖累一点,但是在您描述的结构中,您需要在团队数据类型内创建可变数量的用户变量(除非每个团队始终具有相同数量的用户),这通常不是使用的方法。
Django的用户和组模型利用此结构来关联用户和组,并且还内置有Django的身份验证系统,如果您创建的网站需要人们登录才能访问,该系统将为您节省大量时间用户或团队信息。
希望这会有所帮助,祝你好运!