from django.contrib import admin from .models import ExamSchedule from django.http import HttpResponse # Register your models here. class ExamScheduleAdmin(admin.ModelAdmin): list_display = ('student_name', 'student_id', 'exam_date', 'room_number', 'subject_name', 'subject_code', 'seat_Number') search_fields = ('student_name', 'student_id', 'subject_name') list_filter = ('exam_date', 'room_number') ordering = ('exam_date', 'student_name') list_per_page = 500 actions = ['export_as_csv'] def export_as_csv(self, request, queryset): import csv response = HttpResponse(content_type='text/csv') response['Content-Disposition'] = 'attachment; filename="exam_schedule.csv"' writer = csv.writer(response) writer.writerow(['student_name', 'student_id', 'exam_date', 'room_number', 'subject_name', 'subject_code', 'seat_Number']) for schedule in queryset: writer.writerow([schedule.student_name, schedule.student_id, schedule.exam_date, schedule.room_number, schedule.subject_name, schedule.subject_code, schedule.seat_Number]) return response admin.site.register(ExamSchedule, ExamScheduleAdmin)