fix tests
This commit is contained in:
@ -1,8 +1,6 @@
|
||||
import uuid
|
||||
from typing import Dict, Optional, Set, TYPE_CHECKING
|
||||
|
||||
import pydantic
|
||||
|
||||
import ormar
|
||||
from ormar.exceptions import ModelPersistenceError
|
||||
from ormar.models.helpers.validation import validate_choices
|
||||
@ -53,7 +51,7 @@ class SavePrepareMixin(RelationMixin, AliasMixin):
|
||||
pkname = cls.Meta.pkname
|
||||
pk = cls.Meta.model_fields[pkname]
|
||||
if new_kwargs.get(pkname, ormar.Undefined) is None and (
|
||||
pk.nullable or pk.autoincrement
|
||||
pk.nullable or pk.autoincrement
|
||||
):
|
||||
del new_kwargs[pkname]
|
||||
return new_kwargs
|
||||
@ -71,10 +69,10 @@ class SavePrepareMixin(RelationMixin, AliasMixin):
|
||||
"""
|
||||
for name, field in cls.Meta.model_fields.items():
|
||||
if field.__type__ == uuid.UUID and name in model_dict:
|
||||
if field.column_type.uuid_format == "string":
|
||||
model_dict[name] = str(model_dict[name])
|
||||
else:
|
||||
model_dict[name] = "%.32x" % model_dict[name].int
|
||||
parsers = {"string": lambda x: str(x), "hex": lambda x: "%.32x" % x.int}
|
||||
uuid_format = field.column_type.uuid_format
|
||||
parser = parsers.get(uuid_format, lambda x: x)
|
||||
model_dict[name] = parser(model_dict[name])
|
||||
return model_dict
|
||||
|
||||
@classmethod
|
||||
@ -126,9 +124,9 @@ class SavePrepareMixin(RelationMixin, AliasMixin):
|
||||
"""
|
||||
for field_name, field in cls.Meta.model_fields.items():
|
||||
if (
|
||||
field_name not in new_kwargs
|
||||
and field.has_default(use_server=False)
|
||||
and not field.pydantic_only
|
||||
field_name not in new_kwargs
|
||||
and field.has_default(use_server=False)
|
||||
and not field.pydantic_only
|
||||
):
|
||||
new_kwargs[field_name] = field.get_default()
|
||||
# clear fields with server_default set as None
|
||||
|
||||
@ -838,7 +838,7 @@ class QuerySet:
|
||||
model = await self.get(pk=kwargs[pk_name])
|
||||
return await model.update(**kwargs)
|
||||
|
||||
async def all(self, **kwargs: Any) -> Sequence[Optional["Model"]]: # noqa: A003
|
||||
async def all(self, **kwargs: Any) -> List[Optional["Model"]]: # noqa: A003
|
||||
"""
|
||||
Returns all rows from a database for given model for set filter options.
|
||||
|
||||
|
||||
@ -127,7 +127,6 @@ class QuerysetProxy:
|
||||
f"model without primary key set! \n"
|
||||
f"Save the child model first."
|
||||
)
|
||||
print('final kwargs', final_kwargs)
|
||||
await model_cls(**final_kwargs).save()
|
||||
|
||||
async def update_through_instance(self, child: "Model", **kwargs: Any) -> None:
|
||||
@ -144,7 +143,6 @@ class QuerysetProxy:
|
||||
child_column = self.related_field.default_source_field_name() # type: ignore
|
||||
rel_kwargs = {owner_column: self._owner.pk, child_column: child.pk}
|
||||
through_model = await model_cls.objects.get(**rel_kwargs)
|
||||
print('update kwargs', kwargs)
|
||||
await through_model.update(**kwargs)
|
||||
|
||||
async def delete_through_instance(self, child: "Model") -> None:
|
||||
|
||||
Reference in New Issue
Block a user