Django Admin で、is_active = False なユーザーを表示しなくする ( User の Admin を別のものに差し替える )

2022-11-16 09:19 (2年前) ytyng
View in English

UserAdmin で、is_actiev = True なユーザーしか表示させなくします。

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User


class ReplacedUserAdmin(UserAdmin):
    list_display = (
        'id',
        'email',
        'username',
        'last_name',
        'first_name',
        'date_joined',
        'is_staff',
        'is_superuser',
    )
    ordering = ('-is_active', '-id',)

    def get_queryset(self, request):
        return super().get_queryset(request).filter(is_active=True)

# UserAdminを置き換える。
admin.site.unregister(User)
admin.site.register(User, ReplacedUserAdmin)

@admin.register デコレータを使う場合は、コードの評価順的にうまくいきません。

admin.site.unregister(User)
admin.site.register(User, ReplacedUserAdmin)

↑この2行を並べるように書いてください。

現在未評価
タイトルとURLをコピー

コメント

アーカイブ

2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011