擅长:python、mysql、java
<p>此代码有类似的“Method PUT not allowed”问题,因为请求中缺少“id”:</p>
<pre><code>class ProfileStep2Serializer(serializers.ModelSerializer):
class Meta:
model = Profile
fields = ('middle_initial', 'mobile_phone', 'address', 'apt_unit_num', 'city', 'state', 'zip')
class Step2ViewSet(viewsets.ModelViewSet):
serializer_class = ProfileStep2Serializer
def get_queryset(self):
return Profile.objects.filter(pk=self.request.user.profile.id)
</code></pre>
<p>结果我在序列化程序字段中遗漏了'id',因此PUT请求无法为记录提供id。序列化程序的固定版本如下:</p>
<pre><code>class ProfileStep2Serializer(serializers.ModelSerializer):
class Meta:
model = Profile
fields = ('id', 'middle_initial', 'mobile_phone', 'address', 'apt_unit_num', 'city', 'state', 'zip')
</code></pre>