kwork-poizonstore/store/management/commands/create_initial_data.py
phzhik 0ff18ef891 + BonusProgramLevel
* Moved Bonus models to separate app
2024-05-26 02:40:04 +04:00

159 lines
3.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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()