【发布时间】:2018-10-06 06:07:40
【问题描述】:
在我的 BookSerializer 中,我有一个嵌套字段 page:
class PageSerializer(serializers.ModelSerializer):
...
class BookSerializer(serializers.ModelSerializer):
page = PageSerializer()
并且 page 字段验证器需要一个字典作为值。但我想要的是它也应该接受一个整数(页面的 id)。所以在 BookSerializer 中,我尝试覆盖页面字段的 validate 函数,但它不起作用:
class BookSerializer(serializers.ModelSerializer):
page = PageSerializer()
def validate_page(self, value):
if isinstance(value, int):
return value
# if value is not an integer, reuse the default validator
# but django said that validate_page is not a function
return super().validate_page()
似乎永远不会调用 validate_page 函数,因为它是一个嵌套字段。
谢谢!
【问题讨论】:
标签: python django validation django-rest-framework serialization