你知道为什么补丁返回正确的数据,我想保存,但它不保存在数据库中的数据?你知道吗
from .serializers import ObjectSerializer
@permission_classes([UserPermission])
class ObjectDetail(GenericAPIView):
serializer_class = ObjectSerializer
def patch(self, request, object_id):
try:
object = Object.objects.get(id=object_id)
except Object.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
serializer = ObjectSerializer(object, data=request.data, partial=True)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
你知道吗序列化程序.py地址:
class ObjectSerializer(serializers.ModelSerializer):
class Meta:
model=Object
fields = '__all__'
你知道吗型号.py地址:
class Object(models.Model):
field1 = models.CharField(max_length=200)
field2 = models.ForeignKey('auth.User')
field3 = models.FloatField()
field4 = models.FloatField(null=True, blank=True)
def save(self, *args, **kwargs):
if not self.pk:
self.field4 = self.field3
super(Object, self).save(*args, **kwargs)
更新
我找到了我的补丁方法不起作用的原因。问题在于模型中的def save(self, *args, **kwargs):
函数。当我评论的时候,一切都很好。有什么办法可以解决吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐