From 0e530b792723a16df2ca1ad09bd1303e37aff734 Mon Sep 17 00:00:00 2001 From: AlexP077 Date: Tue, 3 Oct 2023 18:50:11 +0300 Subject: [PATCH] fix_point_add --- service/service.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/service/service.py b/service/service.py index 1b4a88f..9d8a511 100644 --- a/service/service.py +++ b/service/service.py @@ -82,28 +82,28 @@ class PointService: matching_status=MatchingStatus.Error.name, status=PointStatus.Pending.name) problem += 1 - elif cat == 'Подъезд жилого дома': - houses = models.House.objects.filter(street=response.get('street'), - house_number=response.get('houseNumber')).values().all() - for house in houses: - house.pop('id') - if house.get('doors') and house.get('doors') > 1: - house['flat_cnt'] = int(house['flat_cnt'] / house['doors']) - for _num in range(house['doors']): - models.PrePlacementPoint.objects.get_or_create(**house, address=addr, - name=f'Подъезд {_num + 1}', - matching_status=MatchingStatus.New.name, - sample_trn=False, - is_vis=True,category=cat, geometry=wkt, - status=PointStatus.Pending.name, area=rayon, - district=rayon.AO) - else: + elif cat == 'Подъезд жилого дома' and models.House.objects.filter(street=response.get('street'), + house_number=response.get('houseNumber')).first(): + house = models.House.objects.filter(street=response.get('street'), + house_number=response.get('houseNumber')).values().first() + house.pop('id') + if house.get('doors') and house.get('doors') > 1: + house['flat_cnt'] = int(house['flat_cnt'] / house['doors']) + for _num in range(house['doors']): models.PrePlacementPoint.objects.get_or_create(**house, address=addr, + name=f'Подъезд {_num + 1}', matching_status=MatchingStatus.New.name, sample_trn=False, is_vis=True,category=cat, geometry=wkt, status=PointStatus.Pending.name, area=rayon, district=rayon.AO) + else: + models.PrePlacementPoint.objects.get_or_create(**house, address=addr, + matching_status=MatchingStatus.New.name, + sample_trn=False, + is_vis=True,category=cat, geometry=wkt, + status=PointStatus.Pending.name, area=rayon, + district=rayon.AO) else: models.PrePlacementPoint.objects.get_or_create(address=addr, street=response.get('street'), house_number=response.get('houseNumber'),