第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

查找字段在更新時(shí)不是必需的,但在創(chuàng)建時(shí)是必需的

查找字段在更新時(shí)不是必需的,但在創(chuàng)建時(shí)是必需的

UYOU 2021-04-26 06:08:23
我在Django rest框架中使用模型viewset。其中,查找場(chǎng)公司    class UserViewSet(viewsets.ModelViewSet):        """        A viewset for viewing and editing user instances.        """        serializer_class = UserSerializer        queryset = User.objects.all()        lookup_field = 'company'創(chuàng)建用戶時(shí)需要公司。POST方法-/ localhost / user /但是當(dāng)我嘗試更新PUT方法-/ localhost / user / 1 /此處1是company_id它正在引發(fā)錯(cuò)誤    {        "company": [            "This field is required."        ]    }serializers.py    class UserSerializer(DynamicFieldsModelSerializer):        class Meta:            model = User            fields = "__all__"如果我使公司 allow_null = True,那么創(chuàng)建方法也將不需要它。我如何才能使創(chuàng)建公司成為必需。并且 不需要進(jìn)行更新
查看完整描述

1 回答

?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊

PUT方法是更新,需要上傳所有模型字段數(shù)據(jù), PATCH方法是partial_update,僅需要上傳部分模型字段數(shù)據(jù)。


查看源代碼,您將看到:


def partial_update(self, request, *args, **kwargs):

    kwargs['partial'] = True

    return self.update(request, *args, **kwargs)


def update(self, request, *args, **kwargs):

    partial = kwargs.pop('partial', False)

    instance = self.get_object()

    self.before_update(instance)

    serializer = self.get_serializer(instance, data=request.data, partial=partial)

    ....

partial=partial是重要的,還是您需要PATCH方法-/localhost/user/1/


查看完整回答
反對(duì) 回復(fù) 2021-05-11
  • 1 回答
  • 0 關(guān)注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)