MCPcopy
hub / github.com/tortoise/tortoise-orm / __init__

Method __init__

tortoise/models.py:734–760  ·  view source on GitHub ↗
(self, **kwargs: Any)

Source from the content-addressed store, hash-verified

732 }
733
734 def __init__(self, **kwargs: Any) -> None:
735 # self._meta is a very common attribute lookup, lets cache it.
736 meta = self._meta
737 self._partial = False
738 self._saved_in_db = False
739 self._custom_generated_pk = False
740 self._await_when_save: dict[str, Callable[[], Awaitable[Any]]] = {}
741
742 # Assign defaults for missing fields
743 for key in meta.fields.difference(self._set_kwargs(kwargs)):
744 field_object = meta.fields_map[key]
745 field_default = field_object.default
746 if inspect.iscoroutinefunction(field_default):
747 self._await_when_save[key] = field_default
748 elif callable(field_default):
749 setattr(self, key, field_default())
750 else:
751 default = field_object.default
752 if default is not None:
753 if isinstance(default, (int, float, str, bool, bytes)):
754 setattr(self, key, default)
755 else:
756 setattr(self, key, deepcopy(default))
757 elif field_object.has_db_default():
758 setattr(self, key, field_object.get_db_default_value())
759 else:
760 setattr(self, key, None)
761
762 def __setattr__(self, key, value) -> None:
763 # set field value override async default function

Callers

nothing calls this directly

Calls 3

_set_kwargsMethod · 0.95
has_db_defaultMethod · 0.80
get_db_default_valueMethod · 0.80

Tested by

no test coverage detected