允许用户将自己安排到具有管理功能的组中

时间:2012-07-13 20:09:17

标签: django authentication permissions usergroups

我正在使用Django构建日历应用程序,我需要一些有关用户权限的帮助。我通过为每个条目编写经理模型给每个用户他/她自己的日历 - 所以我的模型看起来像这样:

class EntryManager(models.Manager):
    def for_user(self, user):
        return super(EntryManager, self).get_query_set().filter(creator=user)

class Entry(models.Model):
    # ...
    objects = EntryManager()

然后,在我的views.py中,我将每个条目按创建者排序。

entries = Entry.objects.for__user(request.user).filter(date__year=year, date___month=month, date__day=day)

我现在要做的是允许用户创建自己的组,其中组的管理员能够添加/编辑/删除/查看条目,而普通用户只能查看。该组外的任何人都将无法访问这些条目。基本上,日历将显示属于用户的所有条目以及属于用户所属的组的所有条目。现在,即使我在Django Administration中指定用户组,日历也不会显示组条目,因为条目按创建者排序。我正在研究Pinax,但最新版本似乎已经摆脱了群组,因为他们正在将所有应用程序移动到外部资源。如果有人有任何建议,我会全力以赴。

0 个答案:

没有答案