From 45f09094f8e3c5852c747e0f07ef52e6cf432e85 Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Fri, 31 Jan 2020 18:45:20 +0300 Subject: [PATCH] try to return recipes --- apps/news/transfer_data.py | 44 +++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/apps/news/transfer_data.py b/apps/news/transfer_data.py index 3586e357..8bf3efe7 100644 --- a/apps/news/transfer_data.py +++ b/apps/news/transfer_data.py @@ -43,32 +43,28 @@ def clear_old_news(): def transfer_news(): - migrated_news_types = ('News', 'StaticPage', ) + news_type, _ = NewsType.objects.get_or_create(name='news') - for news_type in migrated_news_types: - news_type_obj, _ = NewsType.objects.get_or_create( - name=transform_camelcase_to_underscore(news_type)) + queryset = PageTexts.objects.filter( + page__type='News', + ).annotate( + page__id=F('page__id'), + news_type_id=Value(news_type.id, output_field=IntegerField()), + page__created_at=F('page__created_at'), + page__account_id=F('page__account_id'), + page__state=F('page__state'), + page__template=F('page__template'), + page__site__country_code_2=F('page__site__country_code_2'), + page__root_title=F('page__root_title'), + page__attachment_suffix_url=F('page__attachment_suffix_url'), + page__published_at=F('page__published_at'), + ) - queryset = PageTexts.objects.filter( - page__type=news_type, - ).annotate( - page__id=F('page__id'), - news_type_id=Value(news_type_obj.id, output_field=IntegerField()), - page__created_at=F('page__created_at'), - page__account_id=F('page__account_id'), - page__state=F('page__state'), - page__template=F('page__template'), - page__site__country_code_2=F('page__site__country_code_2'), - page__root_title=F('page__root_title'), - page__attachment_suffix_url=F('page__attachment_suffix_url'), - page__published_at=F('page__published_at'), - ) - - serialized_data = NewsSerializer(data=list(queryset.values()), many=True) - if serialized_data.is_valid(): - serialized_data.save() - else: - pprint(f'News serializer errors: {serialized_data.errors}') + serialized_data = NewsSerializer(data=list(queryset.values()), many=True) + if serialized_data.is_valid(): + serialized_data.save() + else: + pprint(f'News serializer errors: {serialized_data.errors}') def update_en_gb_locales():