| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import tortoise.models
- from .field_generator import field_generator
- class 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"
|