3

より多くの管理者に開放する必要がある管理サイトがあります。

現在、私のモデルは次のようになります

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

スーパーユーザーだけがクレジットカード番号を見ることができるようにする管理サイトのフレームワークの方法はありますか? 管理サイト フレームワークでは、追加、編集、削除の機能しか表示されません。

4

1 に答える 1

3

ユーザーが root かどうかを確認するメソッドYouTube.get_cc_root_onlyを作成し、それを 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 に答える