66 lines
2.3 KiB
Python
66 lines
2.3 KiB
Python
from django.contrib import admin
|
|
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
|
|
from .models import User, Role, TeacherStudentRelation, Institution, Department
|
|
|
|
|
|
@admin.register(User)
|
|
class UserAdmin(BaseUserAdmin):
|
|
list_display = [
|
|
'id', 'username', 'real_name', 'phone', 'role_type',
|
|
'institution', 'department', 'current_level',
|
|
'total_training_count', 'status', 'last_login_time', 'created_at'
|
|
]
|
|
list_filter = ['role_type', 'status', 'gender', 'created_at']
|
|
search_fields = ['username', 'real_name', 'phone']
|
|
ordering = ['-created_at']
|
|
fieldsets = (
|
|
(None, {'fields': ('username', 'password')}),
|
|
('个人信息', {'fields': (
|
|
'real_name', 'phone', 'avatar', 'gender',
|
|
'title_name', 'major', 'training_stage'
|
|
)}),
|
|
('机构信息', {'fields': (
|
|
'institution', 'department', 'role_type'
|
|
)}),
|
|
('能力数据', {'fields': (
|
|
'competency_profile', 'weak_dimensions', 'strong_dimensions',
|
|
'learning_target', 'current_level',
|
|
'total_training_count', 'total_case_count'
|
|
)}),
|
|
('AI偏好', {'fields': ('ai_preference',)}),
|
|
('状态', {'fields': ('status', 'last_login_time', 'is_staff', 'is_superuser')}),
|
|
)
|
|
add_fieldsets = (
|
|
(None, {
|
|
'classes': ('wide',),
|
|
'fields': ('username', 'password1', 'password2', 'real_name', 'role_type'),
|
|
}),
|
|
)
|
|
|
|
|
|
@admin.register(Role)
|
|
class RoleAdmin(admin.ModelAdmin):
|
|
list_display = ['id', 'role_code', 'role_name']
|
|
search_fields = ['role_code', 'role_name']
|
|
|
|
|
|
@admin.register(TeacherStudentRelation)
|
|
class TeacherStudentRelationAdmin(admin.ModelAdmin):
|
|
list_display = ['id', 'teacher', 'student', 'relation_type', 'status', 'start_time']
|
|
list_filter = ['relation_type', 'status']
|
|
search_fields = ['teacher__real_name', 'student__real_name']
|
|
|
|
|
|
@admin.register(Institution)
|
|
class InstitutionAdmin(admin.ModelAdmin):
|
|
list_display = ['id', 'name', 'type', 'level', 'province', 'city']
|
|
list_filter = ['type', 'province']
|
|
search_fields = ['name']
|
|
|
|
|
|
@admin.register(Department)
|
|
class DepartmentAdmin(admin.ModelAdmin):
|
|
list_display = ['id', 'name', 'institution', 'category']
|
|
list_filter = ['category']
|
|
search_fields = ['name', 'institution__name']
|