Django项目记录:django admin后台将数据导出表格
Django admin后台导出
首先安装导出的插件(包)
pip install django-import-export
根据查询结果导出代码,在app文件夹中添加文件resources.py
from import_export import resources
from .models import *
class QueryResultsResource(resources.ModelResource):
def dehydrate_course_type(self, obj):
return obj.get_course_type_display()
class Meta:
model = AttendanceHistory
fields = ['duty_teacher__name', 'course_type', 'attendance__role','class_time','current_subject','number_change','number_left']
def get_export_headers(self):
headers = ['上课老师','课程类别','考勤类别','上课时间','课程主题','课次变化','剩余课次']
return headers
def get_export_order(self):
return self._meta.fields
修改相对应的app的admin后端页面(admin.py)
from django.contrib import admin
from .models import *
from import_export.admin import ExportMixin
from .resources import *
class AttendanceHistoryAdmin(ExportMixin, admin.ModelAdmin):
resource_class = QueryResultsResource
search_fields = ['student__name','student__phone']
list_filter = ['duty_teacher','class_time','course_type','attendance']
list_display = ['id','student', 'teacher','duty_teacher', 'course_type','attendance', 'number_change',
'attendance_class', 'create_at', 'update_at','class_time','number_left']
admin.site.register(AttendanceHistory, AttendanceHistoryAdmin)