Как сериализовать созданный вручную объект в Django rest framework - PullRequest
0 голосов
/ 29 января 2020

У меня есть такой serlizer

class ArticlesSerializer(serializers.ModelSerializer):
    # order = OrderSerializer(read_only=True)
    article = ListArticleSerializer(read_only=True)
    article_options = ArticlesOptionSerializer(read_only=True, source='orderarticleoptions_set' , many=True)

    class Meta:
        model = OrderArticle
        fields = [ 'id' , 'article', 'article_options' ,'article_quantity' ,'article_prize' , 'article_total_prize']

Когда я запрашиваю базу данных и получаю данные по фильтру, он работает нормально. Теперь я создаю пользовательский объект запроса фильтра, подобный этому

order_article_list = OrderArticle.objects.filter(order__order_number=id, order__restaurant=restid)
        data = {}
        for order_article in order_article_list:
            data[order_article.article.category.name] = order_article.article.category.articles_set.all()


        serializer = ArticlesSerializer(data, many=True)

        return Response(success_response({'Articles': serializer.data },
                                         "Description of a Order."), status=status.HTTP_200_OK)

, и я получаю данные типа {'cat1':[article1, article2], 'cat2': [article4, article5]}

, но когда я серризирую, это дает ошибки, а не в стандартной форме запроса. .Как я могу это исправить?

...