Category Api lari tayyor
This commit is contained in:
41
test.py
Normal file
41
test.py
Normal file
@@ -0,0 +1,41 @@
|
||||
import random
|
||||
from core.apps.api.models import Category
|
||||
|
||||
|
||||
def generate_categories(total=150):
|
||||
Category.objects.all().delete()
|
||||
|
||||
created = []
|
||||
queue = []
|
||||
|
||||
# 1) Root level: 3–5 ta
|
||||
root_count = random.randint(3, 5)
|
||||
for i in range(root_count):
|
||||
cat = Category.objects.create(name=f"Category {len(created) + 1}")
|
||||
created.append(cat)
|
||||
queue.append(cat)
|
||||
|
||||
# 2) Qolganlarini yaratamiz
|
||||
while len(created) < total:
|
||||
if not queue:
|
||||
break
|
||||
|
||||
parent = queue.pop(0)
|
||||
|
||||
# Har bir parentga 1–3 ta bola
|
||||
children_count = random.randint(1, 3)
|
||||
|
||||
for _ in range(children_count):
|
||||
if len(created) >= total:
|
||||
break
|
||||
|
||||
child = Category.objects.create(
|
||||
name=f"Category {len(created) + 1}",
|
||||
parent=parent,
|
||||
)
|
||||
created.append(child)
|
||||
|
||||
# bola yana parent bo'lishi mumkin — shuning uchun queue ga qo‘shamiz
|
||||
queue.append(child)
|
||||
|
||||
return f"{len(created)} ta category yaratildi!"
|
||||
Reference in New Issue
Block a user