def handle(self, *args, **options):
     for slug_page in SlugPage.objects.all():
         serializer_class = get_slug_page_serializer(slug_page)
         serializer = serializer_class(
             slug_page,
             data=serializer_class().to_representation(slug_page,
                                                       use_fake=True))
         serializer.is_valid()
         serializer.save()
Пример #2
0
 def partial_update(self, request, pk=None):
     queryset = SlugPage.objects.all()
     cms_page = get_object_or_404(queryset, pk=pk)
     serializer_class = get_slug_page_serializer(cms_page)
     serializer = serializer_class(cms_page, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     else:
         return Response({'message': serializer.errors}, status=status.HTTP_400_BAD_REQUEST)
    def handle(self, *args, **options):
        cms_pages = SlugPage.objects.all()
        existing_slug_serializers = {
            get_slug_page_serializer(cms_page): cms_page
            for cms_page in cms_pages
        }

        for serializer in CSM_SERIALIZERS:
            if serializer not in existing_slug_serializers:
                new_cms_page = serializer(data=serializer().fake_data())
                new_cms_page.is_valid()
                new_cms_page.save()
Пример #4
0
    def handle(self, *args, **options):
        pages = options['pages']
        slug_pages = SlugPage.objects.filter(
            slug__in=pages) if pages else SlugPage.objects.all()

        for slug_page in slug_pages:
            serializer_class = get_slug_page_serializer(slug_page)
            initial_data = serializer_class().to_representation(slug_page,
                                                                use_fake=True)
            initial_fields = serializer_class().to_internal_value(
                initial_data)['fields']

            kept_fields = {
                key: value
                for key, value in slug_page.fields.items()
                if key in initial_fields
            }

            slug_page.fields = {**initial_fields, **kept_fields}
            slug_page.save()
Пример #5
0
 def retrieve(self, request, pk=None):
     queryset = SlugPage.objects.all()
     cms_page = get_object_or_404(queryset, pk=pk)
     serializer_class = get_slug_page_serializer(cms_page)
     serializer = serializer_class(cms_page)
     return Response(serializer.data)
def get_slug_page_serializer_mock(cms_page):
    if cms_page.slug == 'testing-page':
        return TestingPageSerializer
    else:
        return get_slug_page_serializer(cms_page)