add save status and tests

This commit is contained in:
collerek
2020-11-13 16:21:12 +01:00
parent b0cf916531
commit 1f67da3a5c
3 changed files with 55 additions and 51 deletions

View File

@ -90,8 +90,9 @@ class Model(NewBaseModel):
exclude_fields=exclude_fields,
)
instance: Optional[T] = None
if item.get(cls.Meta.pkname, None) is not None:
instance: Optional[T] = cls(**item)
instance = cls(**item)
instance.set_save_status(True)
else:
instance = None

View File

@ -358,8 +358,11 @@ class QuerySet:
instance.pk = pk
# refresh server side defaults
if any(field.server_default is not None
for name, field in self.model.Meta.model_fields.items() if name not in kwargs):
if any(
field.server_default is not None
for name, field in self.model.Meta.model_fields.items()
if name not in kwargs
):
instance = await instance.load()
instance.set_save_status(True)
return instance
@ -377,7 +380,7 @@ class QuerySet:
for objt in objects:
objt.set_save_status(True)
async def bulk_update(
async def bulk_update( # noqa: CCR001
self, objects: List["Model"], columns: List[str] = None
) -> None:
ready_objects = []