Files
ProFi/education/admin.py

58 lines
1.8 KiB
Python
Raw Normal View History

2025-05-18 21:29:04 +03:00
from django.contrib import admin
2025-05-18 22:16:31 +03:00
from .models import AcademicYear, Department, DepartmentHead, Specialty, Group, Student
2025-05-18 21:29:04 +03:00
2025-05-18 22:16:31 +03:00
@admin.register(AcademicYear)
class AcademicYearAdmin(admin.ModelAdmin):
list_display = ('year',)
search_fields = ('year',)
@admin.register(Department)
class DepartmentAdmin(admin.ModelAdmin):
list_display = ('name',)
search_fields = ('name',)
@admin.register(DepartmentHead)
class DepartmentHeadAdmin(admin.ModelAdmin):
list_display = ('department', 'head')
list_filter = ('department',)
autocomplete_fields = ('department', 'head')
2025-05-18 22:48:39 +03:00
search_fields = ('department__name', 'head__account__first_name', 'head__account__last_name')
2025-05-18 22:16:31 +03:00
@admin.register(Specialty)
class SpecialtyAdmin(admin.ModelAdmin):
list_display = ('code', 'name', 'department')
list_filter = ('department',)
search_fields = ('code', 'name', 'department__name')
@admin.register(Group)
class GroupAdmin(admin.ModelAdmin):
list_display = ('name', 'specialty', 'curator')
list_filter = ('specialty__department', 'specialty')
2025-05-18 22:48:39 +03:00
search_fields = ('name', 'specialty__name', 'curator__account__first_name', 'curator__account__last_name')
2025-05-18 22:16:31 +03:00
autocomplete_fields = ('specialty', 'curator')
@admin.register(Student)
class StudentAdmin(admin.ModelAdmin):
list_display = ('full_name', 'group', 'account')
list_filter = ('group__specialty__department', 'group__specialty', 'group')
search_fields = (
2025-05-18 22:48:39 +03:00
'account__first_name', 'account__last_name', 'account__middle_name',
2025-05-18 22:16:31 +03:00
'group__name', 'account__login'
)
autocomplete_fields = ('group', 'account')
@admin.display(description='ФИО')
def full_name(self, obj):
return str(obj)
fieldsets = (
('Основная информация', {
'fields': ('account', 'group')
}),
)