在最新版本中删除了Django Rest Framework中ModelSerializer的get_validation_exclusions方法吗?

时间:2016-01-10 11:57:28

标签: python django django-rest-framework

运行以下代码时:

class PostSerializer(serializers.ModelSerializer):
    author = UserSerializer(required=False)

    def get_validation_exclusions(self):
        exclusions = super(PostSerializer, self).get_validation_exclusions()
        return exclusions + ['author']

我收到错误Column 'author' cannot be null。当我在线查看文档时,从3.0版本开始,此方法不可用(链接:http://www.cdrf.co/3.3/rest_framework.serializers/ModelSerializer.html)。请让我知道最新版本支持此方法的替代方法。

2 个答案:

答案 0 :(得分:1)

您可能想要设置allow_null=True。只有在根本没有定义密钥时,required=False才会起作用。

答案 1 :(得分:0)

在最新版本中,系统会自动排除required=False个字段。 这在this(已结束)问题中有更详细的讨论。

我建议您更新到最新版本。