Files
octopus/myproject/orders/management/commands/create_payment_methods.py

60 lines
2.1 KiB
Python

# -*- coding: utf-8 -*-
from django.core.management.base import BaseCommand
from orders.models import PaymentMethod
class Command(BaseCommand):
help = 'Создаёт стандартные способы оплаты для цветочного магазина'
def handle(self, *args, **options):
payment_methods = [
{
'code': 'cash',
'name': 'Наличными',
'description': 'Оплата наличными деньгами',
'is_system': True,
'order': 1
},
{
'code': 'card',
'name': 'Картой',
'description': 'Оплата банковской картой',
'is_system': True,
'order': 2
},
{
'code': 'online',
'name': 'Онлайн',
'description': 'Онлайн оплата через платежную систему',
'is_system': True,
'order': 3
},
{
'code': 'legal_entity',
'name': 'Безнал от ЮРЛИЦ',
'description': 'Безналичный расчёт от юридических лиц',
'is_system': True,
'order': 4
},
]
created_count = 0
for method_data in payment_methods:
method, created = PaymentMethod.objects.get_or_create(
code=method_data['code'],
defaults=method_data
)
if created:
created_count += 1
self.stdout.write(
self.style.SUCCESS(f'✓ Создан способ оплаты: {method.name}')
)
else:
self.stdout.write(
self.style.WARNING(f'• Уже существует: {method.name}')
)
self.stdout.write(
self.style.SUCCESS(f'\nГотово! Создано {created_count} новых способов оплаты.')
)