fix news transfer

This commit is contained in:
alex 2019-12-17 09:24:17 +03:00
parent 181e9599e4
commit 1c00cc7eae

View File

@ -1,13 +1,12 @@
from rest_framework import serializers
from account.models import User
from gallery.models import Image
from location.models import Country
from news.models import News, NewsGallery
from tag.models import Tag
from transfer.models import PageMetadata
from utils.legacy_parser import parse_legacy_news_content
from utils.slug_generator import generate_unique_slug
from account.models import User
class NewsSerializer(serializers.Serializer):
@ -37,14 +36,18 @@ class NewsSerializer(serializers.Serializer):
'subtitle': self.get_subtitle(validated_data),
'description': self.get_description(validated_data),
'start': validated_data['created_at'],
'slug': generate_unique_slug(News, validated_data['slug']),
'slugs': self.get_slugs(validated_data),
'state': self.get_state(validated_data),
'template': self.get_template(validated_data),
'country': self.get_country(validated_data),
'created_by': self.get_account(validated_data),
'modified_by': self.get_account(validated_data),
}
obj = News.objects.create(**payload)
obj, _ = News.objects.update_or_create(
old_id=validated_data['id'],
defaults=payload,
)
tags = self.get_tags(validated_data)
for tag in tags:
@ -131,6 +134,10 @@ class NewsSerializer(serializers.Serializer):
content = {data['locale']: data['title']}
return content
@staticmethod
def get_slugs(data):
return {data['locale']: data['slug']}
@staticmethod
def get_account(data):
"""Get account"""