Улучшение модели Recipient: PhoneNumberField и поле notes

- Заменено поле phone с CharField на PhoneNumberField для автоматической нормализации телефонов
- Убран регион BY, установлен region=None для универсальности (поддержка номеров разных стран)
- Добавлено поле notes для дополнительной информации о получателе (мессенджеры, соцсети и т.д.)
- Улучшена логика поиска существующих получателей:
  * Использование нормализованного телефона из PhoneNumberField
  * Регистронезависимый поиск по имени (name__iexact)
  * Обновление notes при нахождении существующего получателя
- Обновлена форма OrderForm для работы с PhoneNumberField и новым полем notes
- Обновлен шаблон order_form.html для отображения нового поля
- Созданы миграции для изменений модели
This commit is contained in:
2025-12-25 11:44:18 +03:00
parent 298d797286
commit 2f8a421e64
7 changed files with 121 additions and 10 deletions

View File

@@ -1,4 +1,5 @@
from django.db import models
from phonenumber_field.modelfields import PhoneNumberField
class Recipient(models.Model):
@@ -12,10 +13,18 @@ class Recipient(models.Model):
help_text="ФИО или название организации получателя"
)
phone = models.CharField(
max_length=20,
phone = PhoneNumberField(
region=None,
verbose_name="Телефон получателя",
help_text="Контактный телефон для связи с получателем"
help_text="Контактный телефон для связи с получателем. Введите в любом формате, будет автоматически преобразован"
)
notes = models.CharField(
max_length=200,
blank=True,
null=True,
verbose_name="Дополнительная информация",
help_text="Мессенджер, соцсеть или другая информация о получателе (необязательно)"
)
# Временные метки