相关疑难解决方法(0)

Django代理模型权限不会出现

我为我的应用程序扩展了Django管理站点,允许非员工/超级用户访问.这工作得很好.

我为现有模型创建了一个代理模型,并将其注册到我的管理站点,但是,对于非员工用户,它不会出现.从我阅读的文档中,我的理解是代理模型获得了自己的权限.我检查过,这些没有出现在可用权限列表中.

这是我的代码,以防它有用:

正常模型

class Engagement(models.Model):
    eng_type = models.CharField(max_length=5)
    environment = models.CharField(max_length=8)    
    is_scoped = models.BooleanField()    

    class Meta:
        ordering = ['eng_type', 'environment']
        app_label = 'myapp'
Run Code Online (Sandbox Code Playgroud)

代理模型

class NewRequests(Engagement):
    class Meta:
        proxy = True
        app_label = 'myapp'
        verbose_name = 'New Request'
        verbose_name_plural = 'New Requests'
Run Code Online (Sandbox Code Playgroud)

模特管理员

class NewRequestsAdmin(ModelAdmin):
pass

def queryset(self, request):
    return self.model.objects.filter(is_scoped=0)
Run Code Online (Sandbox Code Playgroud)

自定义管理员注册

myapps_admin_site.register(NewRequests, NewRequestsAdmin)
Run Code Online (Sandbox Code Playgroud)

我一直在和南方管理我的数据库.根据这篇文章,您必须按照它指向用户的说明稍微篡改它.这是一次失败.我的数据库中没有很多信息,因此我取消注释南并运行常规syncdb以排除South.不幸的是,这仍然没有用,我不知所措.任何帮助表示赞赏.

编辑

这是在Django 1.4上

django django-models django-admin django-south python-2.7

10
推荐指数
3
解决办法
4791
查看次数

modeladmin中代理模型的用户权限

使用代理模型时:

class Uf(models.Model):
...

class CustomUf(Uf):
    class Meta:
        proxy = True

class CustomUfAdmin(admin.ModelAdmin)

admin.site.register(CustomUf, CustomUfAdmin)
Run Code Online (Sandbox Code Playgroud)

似乎只有超级用户才能通过管理站点访问CustomUf ...我无法弄清楚如何将CustomUf的权限授予普通用户......

django django-admin

9
推荐指数
1
解决办法
3311
查看次数