【发布时间】:2015-05-05 10:11:36
【问题描述】:
我有一个关于权限的问题。我想通过国家/地区分隔标记为员工(并且可以进入管理页面)的用户。例如,来自荷兰的管理员只能查看和编辑来自荷兰的用户。最好的方法是什么?
我是否应该以某种方式进行查询,以便用户只能看到来自他们自己国家/地区的用户,而不是我可以使用权限对其进行自定义?
我的 models.py 定义了一个国家
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='profile', unique=True)
country = models.CharField("Country", max_length=150, blank=False)
我在 admin.py 中想过这样的事情
def queryset(self, request):
qs = super(ProfileAdmin, self).queryset(request)
if request.user.is_superuser:
return qs
return qs.filter(country=request.user.country)
【问题讨论】:
标签: django permissions