From 9156d9cc35e5d9e13bd7c3c8239f412b0c3ae8a5 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 21 Nov 2019 14:00:17 +0300 Subject: [PATCH] fix partner migrations --- ...121_1045.py => 0003_auto_20191121_1059.py} | 2 +- .../migrations/0004_auto_20191121_1045.py | 19 --------- apps/partner/models.py | 2 + apps/partner/transfer_data.py | 19 ++++----- apps/transfer/serializers/partner.py | 39 ++++++++++--------- 5 files changed, 33 insertions(+), 48 deletions(-) rename apps/partner/migrations/{0003_auto_20191121_1045.py => 0003_auto_20191121_1059.py} (97%) delete mode 100644 apps/partner/migrations/0004_auto_20191121_1045.py diff --git a/apps/partner/migrations/0003_auto_20191121_1045.py b/apps/partner/migrations/0003_auto_20191121_1059.py similarity index 97% rename from apps/partner/migrations/0003_auto_20191121_1045.py rename to apps/partner/migrations/0003_auto_20191121_1059.py index 6d548091..c2e98fbe 100644 --- a/apps/partner/migrations/0003_auto_20191121_1045.py +++ b/apps/partner/migrations/0003_auto_20191121_1059.py @@ -1,4 +1,4 @@ -# Generated by Django 2.2.7 on 2019-11-21 10:45 +# Generated by Django 2.2.7 on 2019-11-21 10:59 from django.db import migrations, models import django.db.models.deletion diff --git a/apps/partner/migrations/0004_auto_20191121_1045.py b/apps/partner/migrations/0004_auto_20191121_1045.py deleted file mode 100644 index 1906a8c0..00000000 --- a/apps/partner/migrations/0004_auto_20191121_1045.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 2.2.7 on 2019-11-21 10:45 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('partner', '0003_auto_20191121_1045'), - ] - - operations = [ - migrations.AlterField( - model_name='partner', - name='establishment', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='partners', to='establishment.Establishment', verbose_name='Establishment'), - ), - ] diff --git a/apps/partner/models.py b/apps/partner/models.py index c4af1de5..5c5766c8 100644 --- a/apps/partner/models.py +++ b/apps/partner/models.py @@ -24,6 +24,8 @@ class Partner(ProjectBaseMixin): verbose_name=_('Establishment'), related_name='partners', on_delete=models.CASCADE, + blank=True, + null=True, ) type = models.PositiveSmallIntegerField(choices=MODEL_TYPES, default=PARTNER) starting_date = models.DateField(_('starting date'), blank=True, null=True) diff --git a/apps/partner/transfer_data.py b/apps/partner/transfer_data.py index f373427a..868345a8 100644 --- a/apps/partner/transfer_data.py +++ b/apps/partner/transfer_data.py @@ -12,20 +12,21 @@ def transfer_partner(): ).values( 'id', 'establishment_id', - # 'aasm_state', - # 'created_at', - # 'establishment_id', - # 'mark', - # 'vintage', + 'partnership_name', + 'partnership_icon', + 'backlink_url', + 'created_at', + 'type', + 'starting_date', + 'expiry_date', + 'price_per_month', ) - # queryset = EstablishmentBacklinks.objects.all() # Partner and Sponsor - - serialized_data = PartnerSerializer(data=list(queryset.values()), many=True) + serialized_data = PartnerSerializer(data=list(queryset), many=True) if serialized_data.is_valid(): serialized_data.save() else: - pprint(f"News serializer errors: {serialized_data.errors}") + pprint(f"Partner serializer errors: {serialized_data.errors}") data_types = { diff --git a/apps/transfer/serializers/partner.py b/apps/transfer/serializers/partner.py index 7de61486..69cf308e 100644 --- a/apps/transfer/serializers/partner.py +++ b/apps/transfer/serializers/partner.py @@ -2,27 +2,28 @@ from rest_framework import serializers from partner.models import Partner -class PartnerSerializer(serializers.ModelSerializer): - backlink_url = serializers.CharField(source="url") - partnership_icon = serializers.CharField() - partnership_name = serializers.CharField() +class PartnerSerializer(serializers.Serializer): + pass + # 'id', + # 'establishment_id', + # 'partnership_name', + # 'partnership_icon', + # 'backlink_url', + # 'created_at', + # 'type', + # 'starting_date', + # 'expiry_date', + # 'price_per_month', - class Meta: - model = Partner - fields = ( - "backlink_url", - "partnership_icon", - "partnership_name" - ) - def validate(self, data): - data["image"] = partnership_to_image_url.get(data["partnership_name"]).get(data["partnership_icon"]) - data.pop("partnership_name") - data.pop("partnership_icon") - return data - - def create(self, validated_data): - return Partner.objects.create(**validated_data) + # def validate(self, data): + # data["image"] = partnership_to_image_url.get(data["partnership_name"]).get(data["partnership_icon"]) + # data.pop("partnership_name") + # data.pop("partnership_icon") + # return data + # + # def create(self, validated_data): + # return Partner.objects.create(**validated_data) partnership_to_image_url = {