pylance types fixes

This commit is contained in:
2025-05-24 15:22:37 +03:00
parent 88dc6932ec
commit 4897a5050d
3 changed files with 43 additions and 7 deletions

View File

@@ -8,12 +8,11 @@ from django.shortcuts import get_object_or_404
from django.core.validators import validate_email
from django.core.exceptions import ValidationError
from django.db import models
from django.contrib.auth.models import User
from api.auth.serializers import UserResponseSerializer
from api.models import UserProfile
from api.utils.decorators import handle_exceptions
from routes.models import Route, City, Country, Leads
from routes.models import Route, City, Country
from sitemanagement.models import Pricing
from .serializers import RouteSerializer, CreateRouteSerializer, CitySerializer, CountrySerializer, PlanChangeSerializer, PricingSerializer, LeadSerializer

View File

@@ -0,0 +1,33 @@
# Generated by Django 5.2.1 on 2025-05-24 12:15
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('routes', '0005_alter_leads_moving_price'),
]
operations = [
migrations.AlterField(
model_name='city',
name='id',
field=models.BigAutoField(primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='country',
name='id',
field=models.BigAutoField(primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='leads',
name='id',
field=models.BigAutoField(primary_key=True, serialize=False),
),
migrations.AlterField(
model_name='route',
name='id',
field=models.BigAutoField(primary_key=True, serialize=False),
),
]

View File

@@ -3,6 +3,7 @@ from django.contrib.auth.models import User
from routes.constants.routeChoices import owner_type_choices, type_transport_choices, cargo_type_choices
class Country(models.Model):
id = models.BigAutoField(primary_key=True)
international_name = models.CharField(max_length=250, verbose_name=('Международное название'), blank=True, null=True)
official_name = models.CharField(max_length=250, verbose_name=('Официальное название'), blank=True, null=True)
@@ -25,13 +26,14 @@ class Country(models.Model):
upload_to='uploads/flags/', verbose_name=('Флаг'),
null=True, blank=True, help_text=u'')
def __str__(self):
def __str__(self) -> str:
if self.international_name:
return f'{self.international_name}'
elif self.official_name:
return f'{self.official_name}'
elif self.code:
return f'{self.code}'
return super().__str__()
class Meta:
verbose_name = ('Страна')
@@ -40,7 +42,7 @@ class Country(models.Model):
class City(models.Model):
id = models.BigAutoField(primary_key=True)
country = models.ForeignKey(
Country, verbose_name=('Страна'), related_name='rel_cities_for_country', on_delete=models.CASCADE)
@@ -54,7 +56,7 @@ class City(models.Model):
parsing_finished_DT = models.DateTimeField(verbose_name=('Дата и время завершения парсинга'), blank=True, null=True)
def __str__(self):
def __str__(self) -> str:
return f'{self.name}'
class Meta:
@@ -63,6 +65,7 @@ class City(models.Model):
ordering = ('name',)
class Route(models.Model):
id = models.BigAutoField(primary_key=True)
owner_type = models.CharField(
choices=owner_type_choices, default='customer', verbose_name=('Тип операции'))
@@ -102,7 +105,7 @@ class Route(models.Model):
blank=True, null=True
)
def __str__(self):
def __str__(self) -> str:
from_city_name = self.from_city.name if self.from_city else 'Не указан'
to_city_name = self.to_city.name if self.to_city else 'Не указан'
return f"Маршрут #{self.id}: {from_city_name}{to_city_name}"
@@ -113,6 +116,7 @@ class Route(models.Model):
ordering = ('id',)
class Leads(models.Model):
id = models.BigAutoField(primary_key=True)
route = models.ForeignKey(Route, verbose_name="Маршрут", on_delete=models.CASCADE)
moving_user = models.ForeignKey(User, verbose_name="Перевозчик", on_delete=models.CASCADE)
moving_price = models.DecimalField(max_digits=10, decimal_places=2)
@@ -125,5 +129,5 @@ class Leads(models.Model):
verbose_name_plural = 'Заявки'
ordering = ['-created_at']
def __str__(self):
def __str__(self) -> str:
return f"Заявка по маршруту {self.route}"