From 110d0872da8a7a62b9baf9a7de3b7f770e629ab0 Mon Sep 17 00:00:00 2001 From: michail Date: Wed, 23 Oct 2019 16:49:15 +0500 Subject: [PATCH] added transfer for partner app --- apps/partner/transfer_data.py | 19 +++++++++++++++++++ apps/transfer/management/commands/transfer.py | 3 ++- apps/transfer/serializers/partner.py | 15 +++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 apps/partner/transfer_data.py create mode 100644 apps/transfer/serializers/partner.py diff --git a/apps/partner/transfer_data.py b/apps/partner/transfer_data.py new file mode 100644 index 00000000..084fd7b1 --- /dev/null +++ b/apps/partner/transfer_data.py @@ -0,0 +1,19 @@ +from django.db.models import Value, IntegerField, F +from pprint import pprint +from transfer.models import EstablishmentBacklinks +from transfer.serializers.partner import PartnerSerializer + + +def transfer_partner(): + queryset = EstablishmentBacklinks.objects.filter(type="Partner") + + serialized_data = PartnerSerializer(data=list(queryset.values()), many=True) + if serialized_data.is_valid(): + serialized_data.save() + else: + pprint(f"News serializer errors: {serialized_data.errors}") + + +data_types = { + "partner": [transfer_partner] +} diff --git a/apps/transfer/management/commands/transfer.py b/apps/transfer/management/commands/transfer.py index 30a87dc4..90c828d4 100644 --- a/apps/transfer/management/commands/transfer.py +++ b/apps/transfer/management/commands/transfer.py @@ -13,7 +13,8 @@ class Command(BaseCommand): 'news', 'account', 'subscriber', - 'recipe' + 'recipe', + 'partner' ] def handle(self, *args, **options): diff --git a/apps/transfer/serializers/partner.py b/apps/transfer/serializers/partner.py new file mode 100644 index 00000000..094418c6 --- /dev/null +++ b/apps/transfer/serializers/partner.py @@ -0,0 +1,15 @@ +from rest_framework import serializers +from partner.models import Partner + + +class PartnerSerializer(serializers.ModelSerializer): + backlink_url = serializers.CharField(source="url") + + class Meta: + model = Partner + fields = ( + "backlink_url", + ) + + def create(self, validated_data): + return Partner.objects.create(**validated_data)