Разрешён NULL для delivery_date в черновиках заказов
- orders/models/delivery.py: delivery_date теперь null=True, blank=True - Валидация: для черновиков дата необязательна, для обычных заказов - обязательна - Миграция: 0003_allow_null_delivery_date_for_drafts.py
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.0.10 on 2026-01-04 22:22
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('orders', '0002_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='delivery',
|
||||
name='delivery_date',
|
||||
field=models.DateField(blank=True, help_text='Дата, когда должна быть выполнена доставка (обязательна для не-черновиков)', null=True, verbose_name='Дата доставки'),
|
||||
),
|
||||
]
|
||||
@@ -62,8 +62,10 @@ class Delivery(models.Model):
|
||||
|
||||
# Дата и время доставки
|
||||
delivery_date = models.DateField(
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name='Дата доставки',
|
||||
help_text='Дата, когда должна быть выполнена доставка'
|
||||
help_text='Дата, когда должна быть выполнена доставка (обязательна для не-черновиков)'
|
||||
)
|
||||
|
||||
time_from = models.TimeField(
|
||||
@@ -131,6 +133,13 @@ class Delivery(models.Model):
|
||||
return
|
||||
|
||||
# Для не-черновиков полная валидация
|
||||
|
||||
# Проверка: дата доставки обязательна
|
||||
if not self.delivery_date:
|
||||
raise ValidationError({
|
||||
'delivery_date': 'Для не-черновиков дата доставки обязательна'
|
||||
})
|
||||
|
||||
# Проверка: для курьерской доставки должен быть адрес
|
||||
if self.delivery_type == self.DELIVERY_TYPE_COURIER:
|
||||
if not self.address:
|
||||
|
||||
Reference in New Issue
Block a user