from django.db import models from django.utils.translation import gettext_lazy as _ from BaseModels.base_models import BaseModel type_transport_choices = ( ('avia', _('Авиатранспорт')), ('road', _('Наземный транспорт')) ) transfer_location_choices = ( ('airport', _('В аэропорту')), ('city', _('По городу')), ('other', _('По договоренности')) ) cargo_type_choices = ( ('passenger', _('Пассажир')), ('cargo', _('Груз')), ('parcel', _('Бандероль')), ('package', _('Посылка')), ('letter', _('Письмо\Документ')) ) owner_type_choices = ( ('customer', 'Заказчик'), ('mover', 'Перевозчик') ) class Route(BaseModel): from django.contrib.auth.models import User owner_type = models.CharField( choices=owner_type_choices, default='customer', verbose_name=_('Тип опреации')) type_transport = models.CharField( choices=type_transport_choices, default='avia', verbose_name=_('Выберите способ перевозки')) departure_DT = models.DateTimeField(default=True, verbose_name=_('Дата и время выезда')) arrival_DT = models.DateTimeField(default=True, verbose_name=_('Дата и время прибытия')) from_address_point = models.IntegerField(verbose_name=_('Пункт выезда')) to_address_point = models.IntegerField(verbose_name=_('Пункт приезда')) # from_city = forms.CharField(required=True) # to_city = forms.CharField(required=True) from_place = models.CharField(choices=transfer_location_choices, default='other', verbose_name=_('Откуда можете забрать?')) to_place = models.CharField(choices=transfer_location_choices, default='other', verbose_name=_('Куда можете доставить?')) cargo_type = models.CharField(choices=cargo_type_choices, default='parcel', verbose_name=_('Могу перевезти')) weight = models.IntegerField(verbose_name=_('Укажите вес до (кг)')) phone = models.CharField(verbose_name=_('Укажите номер для связи')) extra_phone = models.CharField(verbose_name=_('Дополнительный номер'), blank=True, null=True) receive_msg_by_email = models.BooleanField(default=False, verbose_name=_('Получать уведомления по E-mail')) receive_msg_by_sms = models.BooleanField(default=False, verbose_name=_('Получать уведомления по SMS')) owner = models.ForeignKey(User, verbose_name=_('Владелец'), related_name='rel_routes_for_owner', on_delete=models.CASCADE) def __str__(self): if self.name: return f'{self.name}' else: return str(self.id) class Meta: verbose_name = _(u'Маршрут') verbose_name_plural = _(u'Маршруты') ordering = ('name',)