字典对象没有属性

dict object has no attribute

在前端,我使用 vue js,使用 axios 我在单击提交按钮后将数据发送到 backend.But 我收到此错误:dict 对象没有属性 'invoice_products'.

从使用 axios 的前端:

        this.$http.post('http://127.0.0.1:8000/api/createTest', {
            invoice_products: this.invoice_products
        })

这是我的json输入数据

{"invoice_products":[{"name":"fgf","price":"56"}]}

views.py:

@api_view(['POST'])
def createTest(request):
    serializer = TestSerializer(data=request.data.invoice_products)
    if serializer.is_valid():
        serializer.save()
    return Response(serializer.data)

错误: dict 对象没有属性 'invoice_products'

request.data 是一个命令。因此,您使用 request.data[yourkey] 而不是 request.data.yourkey

访问其信息

@api_view(['POST'])
def createTest(request):
    serializer = TestSerializer(data=request.data['invoice_products'])
    if serializer.is_valid():
        serializer.save()
    return Response(serializer.data)

根据序列化器的外观,您可能需要向 TestSerializer

添加 many=true 选项