from django.core.management import BaseCommand from tqdm import tqdm from store.models import Category, PaymentMethod category_names = { "Обувь": [ "Кроссовки", "Кеды", "Пляжная обувь", "Туфли", "Босоножки", "Сандвли", "Лоаферы", "Мокасины", "Ботинки", "Полуботинки", "Сапоги", "Домашняя обувь", "Другое", ], "Верхняя одежда": [ "Куртка летняя", "Куртка зимняя", "Худи", "Толстовка", "Футболка", "Майка", "Лонгслив", "Рубашка", "Платье", "Жилетка", "Свитер", "Топ", "Другое", ], "Нижнее белье": [ "Брюки", "Штаны", "Джинсы", "Леггинсы", "Шорты", "Юбка", "Колготки", "Другое", ], "Сумки": [ "Женская сумка", "Мужская сумка", "Рюкзак", "Кошелек", "Визитница", "Клатч", "Шоппер", "Другое", ], "Косметика": [ "Для лица", "Для тела", "Для губ", "Для ресниц", "Для волос", "Для бровей", "Для рук", "Для ног", "Другое", ], "Аксессуары": [ "Шарф", "Шапка", "Кепка", "Очки", "Украшения", "Перчатки", "Носки", "Нижнее белье", "Другое", ], "Техника": [ "Телефон", "Планшет", "Ноутбук", "Приставка", "Фен", "Скайлер", "Пылесос", "Увлажнитель", "Бытовая техника", "Другое", ], "Часы": ["Механические", "Электронные"], "Игрушки": ["Lego", "Фигурка", "Мягкая", "Кукла", "Набор", "Другое"], "Товары для дома": ["Полотенце", "Ковер", "Набор", "Косметичка", "Другое"], "Еда и напитки": ["Еда", "Напиток"], "Другое": [], } payment_methods = { "alfa": { "name": "Альфабанк", "cardnumber": "", "requisites": "" }, "ralf": { "name": "Райффайзен Банк", "cardnumber": "", "requisites": "" }, "tink": { "name": "Тинькофф", "cardnumber": "", "requisites": "" } } def create_categories(): for cat_name, subcat_names in tqdm(category_names.items(), desc="Creating categories"): category, _ = Category.objects.get_or_create(name=cat_name, parent=None) for subcat_name in subcat_names: Category.objects.get_or_create(name=subcat_name, parent_id=category.id) def create_payment_types(): for slug, data in tqdm(payment_methods.items(), desc="Creating payment methods"): PaymentMethod.objects.get_or_create(slug=slug, defaults=data) class Command(BaseCommand): help = ''' Create root categories ''' def handle(self, *args, **kwargs): create_categories() create_payment_types()