Files
api-bashgah/apps/projectcode/task.py
T
2026-06-15 10:57:28 +03:30

29 lines
931 B
Python

from celery import shared_task
import random
from apps.projectcode.models import ProjectCode as ProjectCodeModel, ProjectCodeHead as ProjectCodeHeadModel
from django.db import transaction
@shared_task
@transaction.atomic
def generate_code(count: int, project_code_head_id):
codes = []
#code_head = ProjectCodeHeadModel.objects.create(title='مقدسی', count=count)
code_head = project_code_head_id
project_codes = []
for i in range(count):
chars = 'abcdefghijklmnopqrstuvwxyz'
char1 = random.choice(chars)
char2 = random.choice(chars)
char4 = random.choice(chars)
num = random.randint(10000000, 99999999)
code = f'{char1}{char2}{char4}{num}'
codes.append(code)
project_code = ProjectCodeModel(project_code_head_id=code_head, code=code)
project_codes.append(project_code)
ProjectCodeModel.objects.bulk_create(project_codes)