我在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表建立多对多关系,但是我不确定如何将过滤器应用于用户搜索结果。