159 lines
3.8 KiB
Python
159 lines
3.8 KiB
Python
from django.core.management import BaseCommand
|
||
from django.conf import settings
|
||
from tqdm import tqdm
|
||
|
||
from bonus_program.models import BonusProgramLevel
|
||
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)
|
||
|
||
|
||
def create_bonus_program_levels():
|
||
for cfg in settings.BONUS_PROGRAM_DEFAULT_CONFIG['levels']:
|
||
slug, name, order_count, amount_default_purchase = cfg
|
||
BonusProgramLevel.objects.get_or_create(
|
||
slug=slug,
|
||
defaults={
|
||
'name': name,
|
||
'orders_count': order_count,
|
||
'amount_default_purchase': amount_default_purchase
|
||
})
|
||
|
||
|
||
class Command(BaseCommand):
|
||
help = ''' Create root categories '''
|
||
|
||
def handle(self, *args, **kwargs):
|
||
create_categories()
|
||
create_payment_types()
|
||
create_bonus_program_levels()
|
||
|