remove bulk_create

This commit is contained in:
2025-03-07 11:19:01 +08:00
parent d74a5d849c
commit aca526c723

View File

@@ -1,6 +1,5 @@
import random import random
from typing import List from typing import List
from django.db.models.signals import post_save
from django.contrib.auth import authenticate, login, logout from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from ninja import Router from ninja import Router
@@ -12,7 +11,7 @@ from .schemas import (
UserRegistrationSchema, UserRegistrationSchema,
UserLoginSchema, UserLoginSchema,
) )
from .models import Profile, RoleChoices, User, create_user_profile from .models import RoleChoices, User
from .decorators import super_required from .decorators import super_required
router = Router() router = Router()
@@ -72,8 +71,6 @@ def batch_create(request, payload: BatchUsersIn):
# 批量创建账号 # 批量创建账号
prefix = "web" prefix = "web"
usernames = [] usernames = []
user_list = []
profile_list = []
for name in payload.names: for name in payload.names:
username = prefix + payload.classname + name username = prefix + payload.classname + name
@@ -87,14 +84,8 @@ def batch_create(request, payload: BatchUsersIn):
password = "".join(digits) password = "".join(digits)
user = User(username=username) user = User(username=username)
user.set_password(password) user.set_password(password)
user_list.append(user) user.save()
profile_list.append(Profile(user=user))
# 总是报错,但是又可以创建
post_save.disconnect(create_user_profile, sender=User)
User.objects.bulk_create(user_list, ignore_conflicts=True)
Profile.objects.bulk_create(profile_list, ignore_conflicts=True)
post_save.connect(create_user_profile, sender=User)
return {"message": "批量创建成功"} return {"message": "批量创建成功"}