Привязка данных LyngSat

This commit is contained in:
2025-11-11 22:40:52 +03:00
parent a3c381b9c7
commit 5e94086bf0
9 changed files with 455 additions and 36 deletions

View File

@@ -233,27 +233,7 @@ class Satellite(models.Model):
ordering = ["name"]
class SourceType(models.Model):
"""
Модель типа источника сигнала.
Классифицирует источники по типам (наземный, морской, воздушный и т.д.).
"""
# Основные поля
name = models.CharField(
max_length=50,
unique=True,
verbose_name="Тип источника",
db_index=True,
help_text="Тип источника сигнала",
)
def __str__(self):
return self.name
class Meta:
verbose_name = "Тип источника"
verbose_name_plural = "Типы источников"
ordering = ["name"]
class ObjItemQuerySet(models.QuerySet):
"""Custom QuerySet для модели ObjItem с оптимизированными запросами"""
@@ -264,7 +244,7 @@ class ObjItemQuerySet(models.QuerySet):
"geo_obj",
"updated_by__user",
"created_by__user",
"source_type_obj",
"lyngsat_source",
"parameter_obj",
"parameter_obj__id_satellite",
"parameter_obj__polarization",
@@ -349,14 +329,14 @@ class ObjItem(models.Model):
verbose_name="Изменен пользователем",
help_text="Пользователь, последним изменивший запись",
)
source_type_id = models.ForeignKey(
SourceType,
lyngsat_source = models.ForeignKey(
"lyngsatapp.LyngSat",
on_delete=models.SET_NULL,
related_name="objitems_sourcetype",
related_name="objitems",
null=True,
blank=True,
verbose_name="Тип источника",
help_text="Тип источника сигнала",
verbose_name="Источник LyngSat",
help_text="Связанный источник из базы LyngSat (ТВ)",
)
# Custom manager