feat: update init users
This commit is contained in:
@@ -2,6 +2,8 @@ import os
|
||||
from django.core.management.base import BaseCommand
|
||||
from django.contrib.auth import get_user_model
|
||||
|
||||
from apps.user.models import TeacherStudentRelation
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
|
||||
@@ -24,9 +26,12 @@ class Command(BaseCommand):
|
||||
# 创建超级管理员
|
||||
self._create_superadmin()
|
||||
|
||||
# 创建测试角色用户
|
||||
# 创建测试角色用户(覆盖五类角色:医院管理员/内容管理员/带教医生/学生)
|
||||
self._create_test_users()
|
||||
|
||||
# 师生关系(只在 doctor 与 student 之间)
|
||||
self._create_relation()
|
||||
|
||||
self.stdout.write(self.style.SUCCESS('\n[完成] 用户初始化完成'))
|
||||
|
||||
def _create_superadmin(self):
|
||||
@@ -55,6 +60,13 @@ class Command(BaseCommand):
|
||||
def _create_test_users(self):
|
||||
"""创建测试用户"""
|
||||
test_users = [
|
||||
{
|
||||
'username': 'hospital_admin',
|
||||
'password': 'hospital123',
|
||||
'real_name': '医院管理员',
|
||||
'role_type': 'hospital_admin',
|
||||
'phone': '13800138003',
|
||||
},
|
||||
{
|
||||
'username': 'doctor1',
|
||||
'password': 'doctor123',
|
||||
@@ -103,3 +115,16 @@ class Command(BaseCommand):
|
||||
f'[已存在] 用户: {user_data["username"]} ({user_data["real_name"]})'
|
||||
)
|
||||
)
|
||||
|
||||
def _create_relation(self):
|
||||
"""初始化一条师生关系(带教医生 doctor1 → 学生 student1)。"""
|
||||
teacher = User.objects.filter(username='doctor1', role_type='doctor').first()
|
||||
student = User.objects.filter(username='student1', role_type='student').first()
|
||||
if not teacher or not student:
|
||||
return
|
||||
_, created = TeacherStudentRelation.objects.get_or_create(
|
||||
teacher=teacher, student=student,
|
||||
defaults={'relation_type': '指导', 'status': 1},
|
||||
)
|
||||
msg = '[创建] 师生关系: doctor1 → student1' if created else '[已存在] 师生关系: doctor1 → student1'
|
||||
self.stdout.write((self.style.SUCCESS if created else self.style.WARNING)(msg))
|
||||
|
||||
Reference in New Issue
Block a user