fix news transfer
This commit is contained in:
parent
181e9599e4
commit
1c00cc7eae
|
|
@ -1,13 +1,12 @@
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
|
from account.models import User
|
||||||
from gallery.models import Image
|
from gallery.models import Image
|
||||||
from location.models import Country
|
from location.models import Country
|
||||||
from news.models import News, NewsGallery
|
from news.models import News, NewsGallery
|
||||||
from tag.models import Tag
|
from tag.models import Tag
|
||||||
from transfer.models import PageMetadata
|
from transfer.models import PageMetadata
|
||||||
from utils.legacy_parser import parse_legacy_news_content
|
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):
|
class NewsSerializer(serializers.Serializer):
|
||||||
|
|
@ -37,14 +36,18 @@ class NewsSerializer(serializers.Serializer):
|
||||||
'subtitle': self.get_subtitle(validated_data),
|
'subtitle': self.get_subtitle(validated_data),
|
||||||
'description': self.get_description(validated_data),
|
'description': self.get_description(validated_data),
|
||||||
'start': validated_data['created_at'],
|
'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),
|
'state': self.get_state(validated_data),
|
||||||
'template': self.get_template(validated_data),
|
'template': self.get_template(validated_data),
|
||||||
'country': self.get_country(validated_data),
|
'country': self.get_country(validated_data),
|
||||||
'created_by': self.get_account(validated_data),
|
'created_by': self.get_account(validated_data),
|
||||||
'modified_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)
|
tags = self.get_tags(validated_data)
|
||||||
for tag in tags:
|
for tag in tags:
|
||||||
|
|
@ -131,6 +134,10 @@ class NewsSerializer(serializers.Serializer):
|
||||||
content = {data['locale']: data['title']}
|
content = {data['locale']: data['title']}
|
||||||
return content
|
return content
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_slugs(data):
|
||||||
|
return {data['locale']: data['slug']}
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_account(data):
|
def get_account(data):
|
||||||
"""Get account"""
|
"""Get account"""
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user