fix transfer script

This commit is contained in:
Kuroshini 2020-01-28 21:27:45 +03:00
parent 24f4abc76d
commit 8806bc4e33

View File

@ -1,7 +1,7 @@
from pprint import pprint from pprint import pprint
from establishment.models import Establishment from establishment.models import Establishment
from partner.models import Partner from partner.models import Partner, PartnerToEstablishment
from transfer.models import EstablishmentBacklinks from transfer.models import EstablishmentBacklinks
from transfer.serializers.partner import PartnerSerializer from transfer.serializers.partner import PartnerSerializer
@ -33,6 +33,20 @@ def transfer_partner():
else: else:
pprint(f"Partner serializer errors: {serialized_data.errors}") pprint(f"Partner serializer errors: {serialized_data.errors}")
# here we manually delete duplicates
partners_to_remove_ids = []
for partner_establishment_proxy in PartnerToEstablishment.objects.all():
related_partner = partner_establishment_proxy.partner
actual_partner = Partner.objects.filter(type=related_partner.type,
url=related_partner.url,
name=related_partner.name).first() # exists for sure
if related_partner.pk != actual_partner.pk:
partners_to_remove_ids.append(related_partner.pk)
partner_establishment_proxy.partner = actual_partner
partner_establishment_proxy.save()
Partner.objects.filter(id__in=partners_to_remove_ids).delete()
data_types = { data_types = {
"partner": [transfer_partner] "partner": [transfer_partner]