运行以下代码时:
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)。请让我知道最新版本支持此方法的替代方法。
答案 0 :(得分:1)
您可能想要设置allow_null=True
。只有在根本没有定义密钥时,required=False
才会起作用。
答案 1 :(得分:0)
在最新版本中,系统会自动排除required=False
个字段。
这在this(已结束)问题中有更详细的讨论。
我建议您更新到最新版本。