我正在尝试构建一个 DRF 序列化器,它使用与底层 Django 模型不同的字段名称。我认为这就是“source”属性的用途。
这是一些代码:
models.py:
class MyModel(models.Model):
my_snake_case_field = models.DateTimeField()
序列化器.py:
class MySerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ('id', 'myCamelCaseField', )
myCamelCaseField = serializers.DateTimeField(source='my_snake_case_field')
但是当我尝试查看时出现以下错误:
ImproperlyConfigured at /api/mymodel/1/ Field name
myCamelCaseField
is not valid for modelMyModel
.
有什么想法我哪里出错了吗?
最佳答案
这可能是一个缩进
错误,它不应该在Meta
类内
class MySerializer(serializers.ModelSerializer):
myCamelCaseField = serializers.DateTimeField(source='my_snake_case_field')
class Meta:
model = MyModel
fields = ('id', 'myCamelCaseField',)
关于Django_Rest_Framework 序列化器字段 "source"属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51855513/