bug fixes
This commit is contained in:
@ -76,7 +76,7 @@ class UndefinedType: # pragma no cover
|
||||
|
||||
Undefined = UndefinedType()
|
||||
|
||||
__version__ = "0.10.11"
|
||||
__version__ = "0.10.12"
|
||||
__all__ = [
|
||||
"Integer",
|
||||
"BigInteger",
|
||||
|
||||
@ -131,7 +131,11 @@ def ManyToMany(
|
||||
validate_not_allowed_fields(kwargs)
|
||||
|
||||
if to.__class__ == ForwardRef:
|
||||
__type__ = to if not nullable else Optional[to]
|
||||
__type__ = (
|
||||
Union[to, List[to]] # type: ignore
|
||||
if not nullable
|
||||
else Optional[Union[to, List[to]]] # type: ignore
|
||||
)
|
||||
column_type = None
|
||||
else:
|
||||
__type__, column_type = populate_m2m_params_based_on_to_model(
|
||||
|
||||
@ -1014,35 +1014,8 @@ class QuerySet(Generic[T]):
|
||||
:return: created model
|
||||
:rtype: Model
|
||||
"""
|
||||
new_kwargs = dict(**kwargs)
|
||||
new_kwargs = self.model.prepare_model_to_save(new_kwargs)
|
||||
|
||||
expr = self.table.insert()
|
||||
expr = expr.values(**new_kwargs)
|
||||
|
||||
instance = self.model(**kwargs)
|
||||
await self.model.Meta.signals.pre_save.send(
|
||||
sender=self.model, instance=instance
|
||||
)
|
||||
pk = await self.database.execute(expr)
|
||||
|
||||
pk_name = self.model.get_column_alias(self.model_meta.pkname)
|
||||
if pk_name not in kwargs and pk_name in new_kwargs:
|
||||
instance.pk = new_kwargs[self.model_meta.pkname]
|
||||
if pk and isinstance(pk, self.model.pk_type()):
|
||||
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
|
||||
):
|
||||
instance = await instance.load()
|
||||
instance.set_save_status(True)
|
||||
await self.model.Meta.signals.post_save.send(
|
||||
sender=self.model, instance=instance
|
||||
)
|
||||
instance = await instance.save()
|
||||
return instance
|
||||
|
||||
async def bulk_create(self, objects: List["T"]) -> None:
|
||||
|
||||
Reference in New Issue
Block a user