我有一个表格,里面有不同实验的数据行。你知道吗
experiment_id data_1 data_2
------------- ------ -------
1
2
3
4
..
我在django上有一个用户数据库,我想存储权限,指示哪些用户可以访问哪些行,然后只返回用户有权访问的行。你知道吗
我应该使用什么格式来存储权限?仅仅是一个表,每个用户有一行,每个布尔实验有一列?在这种情况下,每次添加一个实验时,我都要在这个表中添加一行?你知道吗
user experiment_1 experiment_2 experiment_3 ..
---- ------------ ------------ ------------ --
user_1 True False False ..
user_2 False True False ..
..
任何关于这个主题的参考文献都会很好,最好与sqlite3功能相关,因为这是我当前的db后端。你知道吗
我不是100%确定什么对你最有效,但在过去,我发现使用以下解决方案是最容易查询和维护的未来。你知道吗
如您所见,在新表中,我们引用了用户和实验。这使我们能够精细地控制用户和实验之间的关系。另外,如果这个关系产生了一个新的权限,比如
can_delete
,那么您只需使用默认值将它添加到新的交叉引用表中,所做的更改将被重新添加到您的系统中:-)这取决于您使用权限的方式。
-以防在查询中使用此值 例如,您有两个选项来获取具有特定权限的用户
- 优点:体积小,效率高
- 缺点:实现复杂
你知道吗- 优点:易于添加
- 缺点:必须使用每个权限编辑模式
你知道吗-如果您不使用它进行任何查询,而是在代码中处理它,您可以将JSON转储到一列中,包括用户拥有的所有权限:
相关问题 更多 >
编程相关推荐