|
|
from django.contrib import admin
|
|
|
from .models import ExamSchedule
|
|
|
from django.http import HttpResponse
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
|