Django REST framework-serializer.object.value='x'在serializer.save()之前不会更改值
我现在有一个简单的帖子,内容如下-Django REST framework-serializer.object.value='x'在serializer.save()之前不会更改值,django,django-rest-framework,Django,Django Rest Framework,我现在有一个简单的帖子,内容如下- def post(self, request, format=None): serializer = CalendarSerializer(data=request.DATA) if serializer.is_valid(): serializer.object.evntmst_name='cal_test' serializer.save() return Response(serialize
def post(self, request, format=None):
serializer = CalendarSerializer(data=request.DATA)
if serializer.is_valid():
serializer.object.evntmst_name='cal_test'
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
我在post上导入了一个XML,其中evntmst_的名称是cal_daily。在执行post时,它会成功通过,但evntmst_name的值不会更改。在post之后,我在数据库中每天得到相同的cal_值,而不是它应该设置为的cal_测试。我遗漏了什么?我想我是通过另一种方式解决了这个问题,或者我想在视图中实现的方式是不可能的。我已经创建了两个单独的序列化程序,一个用于GET,一个用于PUT/PATCH 在PUT/PATCH的序列化程序中,我定义了更改字段值的逻辑,如下所示-
class CalendarPUTSerializer(serializers.ModelSerializer):
class Meta:
model = Evntmst
resource_name = 'evntmst'
fields = ('evntmst_id', 'evntmst_name')
def transform_evntmst_id(self, obj, value):
if obj.evntmst_id == 1939:
return 1937