Django_Rest_Framework 序列化器字段 "source"属性不起作用

标签 django django-rest-framework

我正在尝试构建一个 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 model MyModel.

有什么想法我哪里出错了吗?

最佳答案

这可能是一个缩进错误,它不应该在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/

相关文章:

django - 管理错误 : __str__ returned non-string (type NoneType)

django - 更改正常序列化程序响应中字段的顺序

django - 序列化器字段可能命名不正确,并且与 `GenericRelatedObjectManager` 实例上的任何属性或键都不匹配

python - 电子邮件验证和密码重置 - django rest 框架和 angularjs

python - 列表中每个项目的 Django 表单

javascript - 在 django 网站中托管一个 "non-django app"(一个包含 index.html、一些 .js 和 .css 的文件夹)

Django Oauth Toolkit 2-legged 和 3-legged

python - Django Rest 框架将字段组合在一起

python - 在 Python/Django 中使用 Memcached - 问题

python - 如何在 django View 中显示带有超链接的树结构