Files
medical_training/apps/user/admin.py
T

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', 'category']
list_filter = ['category']
search_fields = ['name']