diff --git a/service/admin.py b/service/admin.py index f4ee42b..eb54fba 100644 --- a/service/admin.py +++ b/service/admin.py @@ -12,7 +12,7 @@ from service.models import PlacementPoint from service.models import Rayon from service.models import PrePlacementPoint, Post_and_pvz, Post_and_pvzCategory, Post_and_pvzGroup, OtherObjects, \ OtherObjectsGroup, \ - OtherObjectsCategory, PrePlacementPointPVZDistance + OtherObjectsCategory, PrePlacementPointPVZDistance, TempFiles from service.models import PlacementPointPVZDistance, TaskStatus from postamates.settings import DEBUG from django.core.cache import cache @@ -32,6 +32,7 @@ my_admin_site = MyAdminSite(name='POSTNET') if DEBUG: my_admin_site.register(AO) my_admin_site.register(Rayon) + my_admin_site.register(TempFiles) my_admin_site.register(PlacementPointPVZDistance) diff --git a/service/service.py b/service/service.py index 22e5801..7442eb6 100644 --- a/service/service.py +++ b/service/service.py @@ -56,10 +56,10 @@ class PointService: category=cat).values().first() if obj: obj.pop('id') - models.PrePlacementPoint.objects.create(**{**obj, "matching_status": MatchingStatus.Matched.name}) + models.PrePlacementPoint.objects.get_or_create(**{**obj, "matching_status": MatchingStatus.Matched.name}) matched += 1 else: - models.PrePlacementPoint.objects.create(address=addr, street=response['street'], + models.PrePlacementPoint.objects.get_or_create(address=addr, street=response['street'], house_number=response['houseNumber'], category=cat, geometry=wkt, matching_status=MatchingStatus.New.name) diff --git a/service/tasks.py b/service/tasks.py index 74a1f27..6a27588 100644 --- a/service/tasks.py +++ b/service/tasks.py @@ -96,7 +96,7 @@ def raschet(table_name='service_placementpoint'): (pts.status == 'Cancelled') | ((pts.status == 'Working') & (pts.sample_trn == False))].reset_index(drop=True) elif table_name == 'service_preplacementpoint': - pts_inf = pd.read_sql(f"select * from {table_name}", conn) + pts_inf = pd.DataFrame(conn.connect().execute(text(f"select * from {table_name}"))) pts_inf = pts_inf.loc[pts_inf.matching_status == 'New'].reset_index(drop=True) pts_inf['geometry'] = pts_inf['geometry'].apply(wkb.loads, hex=True) pts_inf = gpd.GeoDataFrame(pts_inf, geometry='geometry', crs='epsg:4326') diff --git a/service/views.py b/service/views.py index 4fcf01d..c851d30 100644 --- a/service/views.py +++ b/service/views.py @@ -363,7 +363,7 @@ class PrePlacementPointViewSet(PlacementPointViewSet): file_id = request.POST['id'] total, matched, problem = PointService().start_mathing(file_id) PointService.make_enrichment() - raschet.delay('service_preplacementpoint') + raschet('service_preplacementpoint') return Response( {'message': {'total': total, 'matched': matched, 'error': problem, 'unmatched': total - matched - problem}}, status=HTTPStatus.OK,