@validates_schema(pass_original=True) def validate_schema(self, data, original): self.validate_permission(data, original) class UserCreateSchema(UserSchema): username = fields.String(required=True) email = fields.String(required=True) password = fields.String(required=True, load_only=True) class Meta: fields = Users.get_admin_columns(Method.CREATE) create_user_admin_serializer = ResourceUserSchema(UserCreateSchema) create_user_serializer = ResourceUserSchema( UserCreateSchema, param={'only': Users.get_columns(Method.CREATE, Role.GUEST)} ) edit_user_admin_serializer = ResourceUserSchema(UserSchema) edit_user_profile_serializer = ResourceUserSchema( UserSchema, param={'only': Users.get_columns(Method.UPDATE, Role.USER)} ) read_user_serializer = ResourceUserSchema( UserSchema, param={'only': Users.get_columns(Method.READ, Role.GUEST)} )