我有一个Request模型,并且遵循以下要求。
class TruRouteRequest(models.Model):
msisdn = models.CharField('Subscriber international MSISDN ', max_length=25)
sessionid = models.CharField(max_length=100, unique=True)
msg_type = models.CharField(max_length=255)
msg = models.CharField(max_length=255)
我没能把模型字段的名称写成'type
',所以我写成了'msg_type
'。我有一个上述模型的ModelSerializer。
我接收到的数据有一个必需的字段'type'。当调用is_valid时,如何将序列化器数据中的type
映射为msg_type
以避免出现错误?
>> serializer = TruRouteRequestSerializer(data=request.data)
>> serializer.data
>> {'msisdn': 'M', 'sessionid': 'S', 'msg': 'MSG'}
>> request.data
>> {'msisdn': 'M', 'type': 'T', 'sessionid': 'S', 'msg': 'MSG'} # there is type
>> serializer.is_valid()
>> False
>> serializer.errors
>> {'msg_type': [ErrorDetail(string='This field is required.', code='required')]}
type
变量名吗?这不被推荐,因为你在类中覆盖了内置函数。但是,既然你的代码中没有使用内置的type
函数,那就没问题了。 - neverwalkaloner