首页 > 解决方案 > 当我创建自定义方法模型-> 序列化程序-> 视图时,在 Django API 中得到空括号

问题描述

我正在尝试从 django rest 框架中的 postgres sql 中创建的函数中获取数据,但没有运气。我在模型中创建了一个自定义方法,并在序列化程序、视图和 url 中创建了相应的方法。当我在浏览器中点击 api 时,我得到了空括号{}。

例如,如果我的函数返回 10 条记录,我会在浏览器中得到 10 个空括号。你们能帮我在浏览器中获取正确的数据吗?提前致谢。

我尝试将 fetch.all() 数据转换为列表,但没有运气。

模型.py

    class Order(object):
        def get_order_details(): 
           with UseDatabase(GetConn.get_config()) as cursor: 
             cursor.execute('select * from public.fnorderdetails()')
             data = cursor.fetchall()
             return data

序列化程序.py

    class OrderSerializer(serializers.Serializer):   
        class Meta:
            model = Order
            fields = ['o_code', 'o_type'] 

        def create(self, validated_data):
            return Order.get_order_details()

视图.py

    class getOrderDetails(generics.ListCreateAPIView): 
        queryset = Order.get_order_details()
        serializer_class = OrderSerializer

网址.py

     path('getOrderDetails/', views.getOrderDetails.as_view()),

当我在浏览器中点击 api 时,我得到以下结果

    Result 
        **HTTP 200 OK
        Allow: GET, POST, HEAD, OPTIONS
        Content-Type: application/json
        Vary: Accept**
        [
             {},
             {},
             {},
             {},
             {},
             {},
             {},
             {},
             {},
             {},
             {},
             {},
             {}
        ]

标签: pythondjango-rest-framework

解决方案


推荐阅读