亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django Rest Framework 對象沒有屬性 pk

Django Rest Framework 對象沒有屬性 pk

PHP
慕桂英546537 2023-11-09 16:45:31
我正在 Django / DjangoRestFramework 中工作,嘗試使用額外的操作來構建可路由的外鍵。我收到以下錯誤,我相信它與 上的 create 方法有關FinancialsSerializer,或缺乏該方法,但我不確定web_1  | AttributeError: 'dict' object has no attribute 'pk'股票視圖集   19 class StockViewSet(viewsets.ModelViewSet):   20     queryset = Stock.objects.all()   21     serializer_class = StockSerializer   22     lookup_url_kwarg = "ticker"   23     lookup_field = "ticker__iexact"   24   25     @action(detail=True, methods=["POST", "GET"])   26     def financials(self, request, ticker=None):   27         if request.method == "GET":   28             stock = self.get_object()   29             financials = stock.get_financials()   30             financials = FinancialsSerializer(financials)   31             return Response(financials.data)   32         if request.method == "POST":   33             serializer = FinancialsSerializer(request.data)   34             financials = Financials.objects.create(serializer.data)   35             financials.save()財務序列化器  9 class FinancialsSerializer(WritableNestedModelSerializer): 10     balance_sheet = BalanceSheetSerializer() 11     income_statement = IncomeStatementSerializer() 12     cashflows_statement = CashflowsStatementSerializer() 13 14     class Meta: 15         model = Financials 16         fields = ["balance_sheet", "income_statement", "cashflows_statement"]
查看完整描述

1 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

我在您的代碼中發現了幾個問題。

首先,對于GET方法:

serializer = FinancialsSerializer(financials, many=True)
return Response(serializer.data)

二、對于POST方法:

serializer = FinancialsSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()return Response(serializer.data)


查看完整回答
反對 回復 2023-11-09
  • 1 回答
  • 0 關注
  • 119 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號