новый структура моделей
This commit is contained in:
@@ -21,7 +21,7 @@ import io
|
||||
from django.db.models import F, Count, Exists, OuterRef, Min, Max
|
||||
from geopy.geocoders import Nominatim
|
||||
import reverse_geocoder as rg
|
||||
import time
|
||||
from time import sleep
|
||||
|
||||
def get_all_constants():
|
||||
sats = [sat.name for sat in Satellite.objects.all()]
|
||||
@@ -88,6 +88,7 @@ def fill_data_from_df(df: pd.DataFrame, sat: Satellite):
|
||||
date = stroka[1]['Дата'].date()
|
||||
time_ = stroka[1]['Время']
|
||||
if isinstance(time_, str):
|
||||
time_ = time_.strip()
|
||||
time_ = time(0,0,0)
|
||||
timestamp = datetime.combine(date, time_)
|
||||
current_mirrors = []
|
||||
@@ -111,7 +112,7 @@ def fill_data_from_df(df: pd.DataFrame, sat: Satellite):
|
||||
comment = stroka[1]['Комментарий']
|
||||
source = stroka[1]['Объект наблюдения']
|
||||
|
||||
vch_load_obj, vch_created = Parameter.objects.get_or_create(
|
||||
vch_load_obj, _ = Parameter.objects.get_or_create(
|
||||
id_satellite=sat,
|
||||
polarization=polarization_obj,
|
||||
frequency=freq,
|
||||
@@ -137,17 +138,41 @@ def fill_data_from_df(df: pd.DataFrame, sat: Satellite):
|
||||
geo.save()
|
||||
geo.mirrors.set(Mirror.objects.filter(name__in=current_mirrors))
|
||||
|
||||
obj_item, _ = ObjItem.objects.get_or_create(
|
||||
id_geo=geo,
|
||||
id_vch_load=vch_load_obj,
|
||||
defaults={
|
||||
'name': source,
|
||||
'id_user_add': CustomUser.objects.get(id=1),
|
||||
# 'id_satellite': sat
|
||||
}
|
||||
existing_obj_items = ObjItem.objects.filter(
|
||||
parameters_obj=vch_load_obj,
|
||||
geo_obj=geo
|
||||
)
|
||||
if not existing_obj_items.exists():
|
||||
# Такой объект уже существует, используем его
|
||||
# obj_item = existing_obj_items.first()
|
||||
obj_item = ObjItem.objects.create(
|
||||
name=source,
|
||||
id_user_add=CustomUser.objects.get(id=1)
|
||||
)
|
||||
# Устанавливаем связь с параметром
|
||||
obj_item.parameters_obj.set([vch_load_obj])
|
||||
# Устанавливаем связь с geo
|
||||
geo.objitem = obj_item
|
||||
geo.save()
|
||||
# else:
|
||||
# Создаем новый ObjItem
|
||||
|
||||
|
||||
# obj_item, _ = ObjItem.objects.get_or_create(
|
||||
# defaults={
|
||||
# 'name': source,
|
||||
# 'id_user_add': CustomUser.objects.get(id=1),
|
||||
# # 'id_satellite': sat
|
||||
# }
|
||||
# )
|
||||
# obj_item.save()
|
||||
# obj_item.parameters_obj.set([vch_load_obj])
|
||||
# if geo:
|
||||
# obj_item.geo_obj = geo
|
||||
# # или в зависимости от вашей модели Geo, вы можете установить обратную связь там:
|
||||
# # geo.objitem = obj_item
|
||||
# geo.save()
|
||||
|
||||
obj_item.save()
|
||||
|
||||
|
||||
def add_satellite_list():
|
||||
@@ -389,7 +414,7 @@ def kub_report(data_in: io.StringIO) -> pd.DataFrame:
|
||||
# loc_name = location.get('city', '') or location.get('town', '') or location.get('province', '') or location.get('country', '')
|
||||
# except AttributeError:
|
||||
# loc_name = ''
|
||||
# time.sleep(1)
|
||||
# sleep(1)
|
||||
loc_name = ''
|
||||
if transponder: #and not (len(transponder) > 1):
|
||||
transfer = transponder.transfer
|
||||
|
||||
Reference in New Issue
Block a user