我现在有一个简单的POST,执行以下操作 -
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)
我有一个XML,我正在帖子上导入evntmst_name为“cal_daily”。在做一个帖子时它成功通过,但evntmst_name的值没有改变。发布后,我在数据库中获得相同的“cal_daily”值,而不是应该设置为“cal_test”。我错过了什么?
答案 0 :(得分:0)
我认为我通过另一种方式做到这一点,或者我想做的方式(在视图中)是不可能的。我为GET制作了2个独立的串行器1,为PUT / PATCH制作了1个。
在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