Рефакторинг моделей заказов и добавление методов оплаты

This commit is contained in:
2025-11-26 13:38:02 +03:00
parent 08e8409a66
commit 0653ec0545
20 changed files with 1720 additions and 873 deletions

View File

@@ -1 +0,0 @@
# Management commands

View File

@@ -0,0 +1,59 @@
# -*- 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} новых способов оплаты.')
)