From f42f5710537c0b93ce88926ef808efa7a1707a53 Mon Sep 17 00:00:00 2001 From: Anatoly Date: Fri, 27 Dec 2019 15:59:15 +0300 Subject: [PATCH] see changes --- apps/collection/serializers/common.py | 4 +++- apps/collection/tasks.py | 5 ++++- apps/utils/export.py | 12 +++++++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/apps/collection/serializers/common.py b/apps/collection/serializers/common.py index 449ee293..bbb5d337 100644 --- a/apps/collection/serializers/common.py +++ b/apps/collection/serializers/common.py @@ -235,6 +235,8 @@ class GuideElementExportSerializer(GuideElementBaseSerializer): default=None) price_level = serializers.CharField(source='establishment.price_level_display', default=None) + # metadata = serializers.ListField(source='establishment.metadata', + # default=None) class Meta: model = models.GuideElement @@ -261,5 +263,5 @@ class GuideElementExportSerializer(GuideElementBaseSerializer): 'establishment_subtypes', 'review', 'price_level', - + # 'metadata', ] diff --git a/apps/collection/tasks.py b/apps/collection/tasks.py index eab7e570..706adb5e 100644 --- a/apps/collection/tasks.py +++ b/apps/collection/tasks.py @@ -149,7 +149,10 @@ def export_guide(guide_id, user_id, file_type='csv'): guide = Guide.objects.get(id=guide_id) root = GuideElement.objects.get_root_node(guide) if root: - nodes = root.get_descendants() + nodes = root.get_descendants().select_related('review', 'establishment', 'wine_region', + 'product', 'city', 'wine_color_section', + 'section', 'label_photo', 'guide', + 'city__country', 'establishment__establishment_type') serializer = GuideElementExportSerializer(nodes, many=True) data = serializer.data SendGuideExport( diff --git a/apps/utils/export.py b/apps/utils/export.py index 2ec5854d..66671aab 100644 --- a/apps/utils/export.py +++ b/apps/utils/export.py @@ -191,7 +191,17 @@ class DocTemplate: self.add_bullet_list(services) self.add_empty_line() - break + # METADATA HEADING (LEVEL 2) + metadata = instance.get('metadata') + if metadata: + for obj in metadata: + for section, tags in obj.items(): + self.add_heading(name=section, + font_style={'size': Pt(13), 'name': 'Arial', 'bold': True}, + level=2) + # TIMETABLE ITEMS PARAGRAPH + self.add_bullet_list(tags) + self.add_empty_line() # PAGE BREAK self.add_page_break()