def validate_python(self, value, state): p = Product.find_by_id(int(value)) for product in Product.find_by_category(p.category.id): if product.id == int(value): check_product_availability(product, value, state) return # All good! raise Invalid("Product " + value + " is not allowed in category " + self.category.name, value, state)