Ale*_*xis 4 django django-admin django-admin-filters
在Django管理员中,我想只显示基于用户的某些模型行.
class Article(models.Model):
text = models.TextField(max_length=160)
location = models.CharField(max_length=20)
Run Code Online (Sandbox Code Playgroud)
因此,当用户登录管理站点并且是旧金山的一部分时location,他们应该只能看到Articles该位置.
我想你想要的是ModelAdmin的查询集:
https://docs.djangoproject.com/en/1.4/ref/contrib/admin/#django.contrib.admin.ModelAdmin.queryset
class ArticleAdmin(admin.ModelAdmin):
def queryset(self, request):
qs = super(ArticleAdmin, self).queryset(request)
if request.user.profile.location: # If the user has a location
# change the queryset for this modeladmin
qs = qs.filter(location=request.user.profile.location)
return qs
Run Code Online (Sandbox Code Playgroud)
这假设用户通过配置文件模型绑定到某个位置.
| 归档时间: |
|
| 查看次数: |
2103 次 |
| 最近记录: |