有没有一种方法可以根据Django中列的值授予用户访问表中的行的权限?

时间:2020-09-07 17:03:11

标签: sql django postgresql

我在Django中有一个基本的CRUD Web应用程序,它使用带有Postgres 12的数据库,该数据库仅基于搜索显示文章。

我需要实现一个系统,使从用户搜索返回的文章是用户只能访问的文章。例如,如果我的文章表conda create -n tensorflow pip python=3.8 conda activate tensorflow 已填充

article

如果用户进行搜索,但只被授予访问查看源NYTimes和BBC以及仅类别政治的权限,则该用户只会看到

id|title|summary|source  |category
--+-----+-------+--------+--------
0 |...  |...    |NYTimes |politics
1 |...  |...    |BBC     |environment
2 |...  |...    |BBC     |politics
3 |...  |...    |Wired   |technology
4 |...  |...    |NYTimes |fashion

现在,我实现了此架构。

id|title|summary|source  |category
--+-----+-------+--------+--------
0 |...  |...    |NYTimes |politics
2 |...  |...    |BBC     |politics

并使用此原始查询过滤结果。

|user_group|     |data_permission|
|id        |-----|group_id       |
|name      |     |column         |
                 |value          |

这是一个简单的问题,但是我很难理解这是否是解决此问题的好方法。我还需要确保在Django的管理网站上可以使用简单的界面。我当时想让我的user_group表与data_permissions表建立多对多关系,但是我不确定如何将过滤器应用于用户搜索结果。

0 个答案:

没有答案