3

我有一个需要向更多管理员开放的管理站点。

目前我的模型看起来像

class YouTube(models.Model):
    name =  models.CharField(max_length=100)
    credit_card_number = models.CharField(max_length=100)

管理站点框架中有没有办法让它只有超级用户才能看到信用卡号?在管理站点框架中,我只能看到添加、编辑、删除的能力。

4

1 回答 1

3

创建方法YouTube.get_cc_root_only,您将在其中检查用户是否为 root,并在 YouTubeAdmin 类(list_display)中使用它

更新:

class XyzAdmin(admin.ModelAdmin):
    def get_cc_root_only(self, obj):
        if self.username == "admin":
            return "CC"
        return "XXX"

    def changelist_view(self, request, extra_context = None):
        self.username = request.user.username
        return super(XyzAdmin,self).changelist_view(request, extra_context = extra_context)

    list_display = ("name", "get_cc_root_only")
于 2012-04-27T19:16:17.890 回答