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, exclude_fields=exclude_fields,
) )
instance: Optional[T] = None
if item.get(cls.Meta.pkname, None) is not None: if item.get(cls.Meta.pkname, None) is not None:
instance: Optional[T] = cls(**item) instance = cls(**item)
instance.set_save_status(True) instance.set_save_status(True)
else: else:
instance = None instance = None

View File

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