Files
octopus/myproject/customers/migrations/0004_alter_customer_email.py
Andrey Smakotin 9394abfa3f Добавлена валидация уникальности email и phone для клиентов
Изменения:
- Добавлено ограничение unique=True для поля email в модели Customer
- Email теперь поддерживает NULL значения (несколько клиентов могут быть без email)
- Добавлены методы clean_email() и clean_phone() в CustomerForm для валидации
- Переписан API endpoint api_create_customer для использования формы вместо прямого создания
- Создано две миграции: сначала разрешение NULL, затем добавление unique constraint
- В текущей БД преобразованы пустые строки email в NULL (4 записи)

Это исправляет:
- Возможность создания дубликатов клиентов с одинаковыми email/phone
- Работает как в веб-форме, так и в модальном окне создания заказа
- Устранена уязвимость race condition через использование DB constraints

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 17:36:11 +03:00

19 lines
452 B
Python

# Generated by Django 5.0.10 on 2025-11-11 14:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('customers', '0003_alter_customer_email'),
]
operations = [
migrations.AlterField(
model_name='customer',
name='email',
field=models.EmailField(blank=True, max_length=254, null=True, unique=True, verbose_name='Email'),
),
]