Coverage for src/products/management/commands/create_products.py: 0%
22 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-08-04 12:59 +0300
« prev ^ index » next coverage.py v7.9.2, created at 2025-08-04 12:59 +0300
1import os
2import random
3import django
4from django.core.management.base import BaseCommand
6from src.products.management.commands.utils.create_product import (
7 create_product,
8)
9from src.products.management.products_data import products_data
10from src.products.management.commands.utils.attributes_as_list_mapper import (
11 attributes_as_list_mapper,
12)
15class Command(BaseCommand):
16 help = 'Creating products'
18 def handle(self, *args, **options):
19 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'src.settings')
21 django.setup()
23 self.stdout.write(self.style.SUCCESS('Starting creating products...'))
25 self.initialize_data()
27 self.stdout.write(
28 self.style.SUCCESS('All products created successfully.')
29 )
31 def initialize_data(self):
33 for model, list in attributes_as_list_mapper.items():
34 for element in list:
35 model.objects.create(
36 name=element,
37 )
39 random.shuffle(products_data)
41 for product_data in products_data:
42 create_product(product_data)