小编Kal*_*wde的帖子

Django DRF REST Put 方法不更新任何内容

在 Django PUT 请求中,当我更新每周位置和小时数的值时,PUT 请求返回完全相同的值并且没有更新任何内容。

下面是我的代码,

网址

url(
r'^api/availability', views.AvailabilityAPIView.as_view(),name='api_availability'
)
Run Code Online (Sandbox Code Playgroud)

楷模

class Availability(models.Model):
    # Skill model which contains trainer's skill details
    user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
    locations = models.CharField(max_length=2000)
    hours_per_week = models.IntegerField(default=0)

    def __str__(self):
        return self.locations + "|" + str(self.hours_per_week)
Run Code Online (Sandbox Code Playgroud)

序列化器

class AvailabilitySerializer(serializers.ModelSerializer):
    class Meta:
        model = Availability
        fields = ['user', 'locations', 'hours_per_week']
Run Code Online (Sandbox Code Playgroud)

意见

class AvailabilityAPIView(APIView):
    authentication_classes = (CsrfExemptSessionAuthentication, BasicAuthentication)

    def get(self, request):
        availability = Availability.objects.all()
        serializer = AvailabilitySerializer(availability, many=True)
        return Response(serializer.data)

    def put(self, request):
        serializer = AvailabilitySerializer(request.user, data=request.data, …
Run Code Online (Sandbox Code Playgroud)

django put django-rest-framework

2
推荐指数
1
解决办法
855
查看次数

标签 统计

django ×1

django-rest-framework ×1

put ×1