| 123456789101112131415161718192021222324252627282930313233343536373839 | import tortoise.modelsfrom .field_generator import field_generatorclass model(tortoise.models.Model):    id = field_generator.primary_key()    def _validators(self) -> dict:        return dict()    def __validate_item(self, validator: callable, key: str) -> None:        try:            if validator(self.__get(key)) == self.__get(key):                return            raise ValueError("Validated value is not same.")        except Exception as error:            value = self.__get(key)            model_name = type(self).__name__                        info = "Model \"" + model_name + "\" contain invalid "            info = info + "data in field \"" + key + "\". Content of "            info = info + "field is \"" + value + "\". Found error \""            info = info + str(error) + "\"."            raise ValueError(info)    def __get(self, key: str) -> any:        return self.__getattribute__(key)    def validate(self) -> object:        for key, validator in self._validators().items():            self.__validate_item(validator, key)                return self    class Meta:        app = "class"
 |