将 django import_export 添加到抽象用户模型
Adding django import_export to Abstract User Model
下面是我的 admin.py 文件。
我想在作为抽象用户模型的员工模型上实现 import_export 功能。
from django.contrib import admin
from inventory.models import Employee
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import Group
from import_export.admin import ImportExportModelAdmin
admin.site.unregister(Group)
# admin.site.register(Employee)
class EmployeeAdmin(UserAdmin):
list_display = ('emp_num', 'emp_name', 'email',
'emp_designation', 'is_admin', 'is_staff')
search_fields = ('emp_num', 'emp_name')
readonly_fields = ('last_login',)
ordering = ('emp_num',)
filter_horizontal = ()
list_filter = ('is_admin',)
fieldsets = ()
admin.site.register(Employee, EmployeeAdmin)
ImportExportModelAdmin
[readthedocs.io] is just a ModelAdmin
with a ImportExportMixin
[readthedocs.io],所以可能最干净的解决方案是使用 ImportExportMixin
:
from django.contrib import admin
from inventory.models import Employee
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import Group
from import_export.admin import <b>ImportExportMixin</b>
admin.site.unregister(Group)
# admin.site.register(Employee)
class EmployeeAdmin(<b>ImportExportMixin</b>, UserAdmin):
list_display = ('emp_num', 'emp_name', 'email',
'emp_designation', 'is_admin', 'is_staff')
search_fields = ('emp_num', 'emp_name')
readonly_fields = ('last_login',)
ordering = ('emp_num',)
filter_horizontal = ()
list_filter = ('is_admin',)
fieldsets = ()
admin.site.register(Employee, EmployeeAdmin)
下面是我的 admin.py 文件。
我想在作为抽象用户模型的员工模型上实现 import_export 功能。
from django.contrib import admin
from inventory.models import Employee
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import Group
from import_export.admin import ImportExportModelAdmin
admin.site.unregister(Group)
# admin.site.register(Employee)
class EmployeeAdmin(UserAdmin):
list_display = ('emp_num', 'emp_name', 'email',
'emp_designation', 'is_admin', 'is_staff')
search_fields = ('emp_num', 'emp_name')
readonly_fields = ('last_login',)
ordering = ('emp_num',)
filter_horizontal = ()
list_filter = ('is_admin',)
fieldsets = ()
admin.site.register(Employee, EmployeeAdmin)
ImportExportModelAdmin
[readthedocs.io] is just a ModelAdmin
with a ImportExportMixin
[readthedocs.io],所以可能最干净的解决方案是使用 ImportExportMixin
:
from django.contrib import admin
from inventory.models import Employee
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import Group
from import_export.admin import <b>ImportExportMixin</b>
admin.site.unregister(Group)
# admin.site.register(Employee)
class EmployeeAdmin(<b>ImportExportMixin</b>, UserAdmin):
list_display = ('emp_num', 'emp_name', 'email',
'emp_designation', 'is_admin', 'is_staff')
search_fields = ('emp_num', 'emp_name')
readonly_fields = ('last_login',)
ordering = ('emp_num',)
filter_horizontal = ()
list_filter = ('is_admin',)
fieldsets = ()
admin.site.register(Employee, EmployeeAdmin)