В моем BookSerializer у меня есть вложенное поле page :
class PageSerializer(serializers.ModelSerializer):
...
class BookSerializer(serializers.ModelSerializer):
page = PageSerializer()
, а валидатор поля page ожидает словарь какзначение.Но я хочу, чтобы он также принимал целое число (идентификатор страницы).Поэтому в 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 функция никогда не вызывается, потому что это вложенное поле.
Спасибо!