(self, **kwargs: Any)
| 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 |
nothing calls this directly
no test coverage detected