Database 针对拥有自己数据的用户的Django模型

Database 针对拥有自己数据的用户的Django模型,database,django,model,Database,Django,Model,我将构建一个应用程序,每个用户只能访问自己的数据。 每个用户都应该能够添加/编辑/删除自己的数据。表中的列应如下所示: "Product name" "Date of purchase" "Price" "Warranty" "Comments" 我假设应用程序的大小最多可容纳100个用户,每个用户最多可容纳1000个项目。 现在,我想知道我应该建立什么样的模型。 我应该创建一个表并添加“用户”列,然后按用户筛选此表,还是应该创建3个表:“用户”、“项目”和“用户与项目的关系”? 你的意见是什

我将构建一个应用程序,每个用户只能访问自己的数据。 每个用户都应该能够添加/编辑/删除自己的数据。表中的列应如下所示:

"Product name" "Date of purchase" "Price" "Warranty" "Comments"
我假设应用程序的大小最多可容纳100个用户,每个用户最多可容纳1000个项目。 现在,我想知道我应该建立什么样的模型。 我应该创建一个表并添加“用户”列,然后按用户筛选此表,还是应该创建3个表:“用户”、“项目”和“用户与项目的关系”? 你的意见是什么?哪种解决方案最适合此类应用程序?

一种方法是有两种型号,
用户
项目
,并带有用户型号的外键。这将产生两个表。然后,您可以添加逻辑以仅允许用户修改/删除属于他们的
对象


另一个选项是使用类似的工具。

您可以在一个models.py文件中创建两个表。一个表应该包含用户数据,另一个表应该包含项目数据,并带有一个与单个用户相关的外键字段。

这样做,即使多对多字段也不是必需的,只要项目包含一个与用户相关的外键字段。啊,是的。我在考虑许可的问题。因此,多个用户可以对单个项目拥有写入权限。我是否正确理解,我应该有两个表。Django提供的一个“auth_user”,以及上面提到的一个用户字段,该字段将指向每行的“auth_user”?是吗?是的,但是如果您有一个自定义的
用户
模型,则该表将不会被称为
auth\u User