Add title method

This commit is contained in:
littlewolf 2019-10-20 19:08:14 +03:00
parent 8965cf0460
commit 0a24b80917
2 changed files with 11 additions and 12 deletions

View File

@ -4,23 +4,18 @@ from news.models import NewsType
from django.db.models import Value, IntegerField, F from django.db.models import Value, IntegerField, F
from pprint import pprint from pprint import pprint
def transfer_news(): def transfer_news():
news_type, _ = NewsType.objects.get_or_create(name="News") news_type, _ = NewsType.objects.get_or_create(name="News")
print(news_type)
#
queryset = PageTexts.objects.all().annotate(news_type=Value(news_type.id, output_field=IntegerField())) queryset = PageTexts.objects.all().annotate(news_type=Value(news_type.id, output_field=IntegerField()))
queryset = queryset.annotate(attachment_file_name=F('page__attachment_file_name')) queryset = queryset.annotate(attachment_file_name=F('page__attachment_file_name'))
queryset = queryset.annotate(template=F('page__template')) queryset = queryset.annotate(template=F('page__template'))
pprint(vars(queryset.first()))
print("===================================================================================") serialized_data = NewsSerializer(data=list(queryset.values()), many=True)
# if serialized_data.is_valid():
serialized_data = NewsSerializer(queryset, many=True) serialized_data.save()
# data = serialized_data.data else:
# pprint(serialized_data.data) pprint(f"News serializer errors: {serialized_data.errors}")
for serialized_obj in serialized_data.data:
pprint(serialized_obj)
break
data_types = { data_types = {

View File

@ -6,6 +6,7 @@ class NewsSerializer(serializers.ModelSerializer):
image_url = serializers.SerializerMethodField() image_url = serializers.SerializerMethodField()
preview_image_url = serializers.SerializerMethodField() preview_image_url = serializers.SerializerMethodField()
description = serializers.SerializerMethodField() description = serializers.SerializerMethodField()
title = serializers.SerializerMethodField()
class Meta: class Meta:
model = News model = News
@ -20,6 +21,9 @@ class NewsSerializer(serializers.ModelSerializer):
"news_type" "news_type"
) )
def get_title(self, obj):
return f'{"en-GB": {obj.title}}'
def get_description(self, obj): def get_description(self, obj):
if not hasattr(obj, "body"): if not hasattr(obj, "body"):
return "" return ""