Доделал таблицу с кубсатом

This commit is contained in:
2025-12-10 12:29:43 +03:00
parent 8393734dc3
commit d889dc7b2a
10 changed files with 1458 additions and 218 deletions

View File

@@ -1216,15 +1216,28 @@ class SourceRequest(models.Model):
('high', 'Высокий'),
]
# Связь с источником
# Связь с источником (опционально для заявок без привязки)
source = models.ForeignKey(
Source,
on_delete=models.CASCADE,
related_name='source_requests',
verbose_name='Источник',
null=True,
blank=True,
help_text='Связанный источник',
)
# Связь со спутником
satellite = models.ForeignKey(
Satellite,
on_delete=models.SET_NULL,
related_name='satellite_requests',
verbose_name='Спутник',
null=True,
blank=True,
help_text='Связанный спутник',
)
# Основные поля
status = models.CharField(
max_length=20,
@@ -1256,12 +1269,38 @@ class SourceRequest(models.Model):
verbose_name='Дата заявки',
help_text='Дата подачи заявки',
)
card_date = models.DateField(
null=True,
blank=True,
verbose_name='Дата формирования карточки',
help_text='Дата формирования карточки',
)
status_updated_at = models.DateTimeField(
auto_now=True,
verbose_name='Дата обновления статуса',
help_text='Дата и время последнего обновления статуса',
)
# Частоты и перенос
downlink = models.FloatField(
null=True,
blank=True,
verbose_name='Частота Downlink, МГц',
help_text='Частота downlink в МГц',
)
uplink = models.FloatField(
null=True,
blank=True,
verbose_name='Частота Uplink, МГц',
help_text='Частота uplink в МГц',
)
transfer = models.FloatField(
null=True,
blank=True,
verbose_name='Перенос, МГц',
help_text='Перенос по частоте в МГц',
)
# Результаты
gso_success = models.BooleanField(
null=True,
@@ -1276,6 +1315,15 @@ class SourceRequest(models.Model):
help_text='Успешность Кубсат',
)
# Район
region = models.CharField(
max_length=255,
null=True,
blank=True,
verbose_name='Район',
help_text='Район/местоположение',
)
# Комментарий
comment = models.TextField(
null=True,
@@ -1284,13 +1332,22 @@ class SourceRequest(models.Model):
help_text='Дополнительные комментарии к заявке',
)
# Координаты (усреднённые по выбранным точкам)
# Координаты ГСО (усреднённые по выбранным точкам)
coords = gis.PointField(
srid=4326,
null=True,
blank=True,
verbose_name='Координаты',
help_text='Усреднённые координаты по выбранным точкам (WGS84)',
verbose_name='Координаты ГСО',
help_text='Координаты ГСО (WGS84)',
)
# Координаты источника
coords_source = gis.PointField(
srid=4326,
null=True,
blank=True,
verbose_name='Координаты источника',
help_text='Координаты источника (WGS84)',
)
# Количество точек, использованных для расчёта координат