在我的BookSerializer中,我有一个嵌套字段页面:
class PageSerializer(serializers.ModelSerializer):
...
class BookSerializer(serializers.ModelSerializer):
page = PageSerializer()
而页字段验证器需要一个字典作为值。但我想要的是它也应该接受一个整数(page的id)。因此,在BookSerializer中,我尝试覆盖页面字段的验证功能,但没有起作用:
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()
似乎从未调用验证页面函数,因为它是一个嵌套字段。你知道吗
谢谢!你知道吗
创建自定义验证的正确方法是:
但它不会起作用。你知道吗
您需要重写页序列化程序上的内部函数:
相关问题 更多 >
编程相关推荐