Django:如何授予用户/组在指定时间段内查看模型实例的权限

时间:2018-04-03 19:38:46

标签: python django django-admin django-authentication django-permissions

我是Django的新手,无法通过阅读文档或查看现有问题来弄明白。我查看了Django权限和身份验证,但找不到解决方案。

假设我有一个详细信息视图,其中列出了名为 Item 的模型的所有实例。对于每个项目,我想控制哪些用户可以查看它,以及多长时间。换句话说,对于有权访问的每个用户,我希望权限/权限在指定的时间段后查看到期时间。在这段时间之后,项目将从列表中消失,用户无法访问详细说明项目的网址。

我知道,实现的逻辑非常简单,但“每用户/每个对象”部分让我感到困惑。非常感谢帮助!

1 个答案:

答案 0 :(得分:1)

有关UserItemExpiryDate的信息必须存储在单独的表(Model)中。我建议你在Django中使用你的编码。

有几种情况需要考虑: 1)创建新用户,他/她应该有权访问项目。 在这种情况下,您使用新的用户<>项目组合(作为密钥)和到期日期向UserItemExpiry添加条目。然后,对于登录用户,您将在以后的UserItemExpiry中查找具有User<> Item的项目中的项目。 2)创建一个新项目,并且必须将其添加到现有用户。 在这种情况下,您向所有用户<>添加条目到UserItemExpiry。新物品组合(作为关键)和失效日期。 “选择”有效项目的逻辑与第1点相同。

祝你好运, Radek Szwarc