团队中用户的Django数据库结构[关闭]

问题描述 投票:0回答:1
这可能是一个非常简单的问题。我想在Django中创建以下功能。

有人可以创建一个团队并将人员添加到该团队中。因此,在任何时候,可能会有几个团队,其中有多个用户。团队数据结构具有CRUD功能。有点像github团队。

什么是最好的数据库结构?

我知道有很多方法-那么每种方法的优缺点是什么?这是新手,因此非常感谢任何问题。
python django
1个回答
0
投票
我相信其他人会针对您的问题提供更深入的答复,但如果有人需要一段时间才能回答,我会给您一个开始的地方。

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的身份验证系统,如果您创建的网站需要人们登录才能访问,该系统将为您节省大量时间用户或团队信息。

希望这会有所帮助,祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.