diff --git a/ormar/fields/model_fields.py b/ormar/fields/model_fields.py index 0d643e6..f2f4cfc 100644 --- a/ormar/fields/model_fields.py +++ b/ormar/fields/model_fields.py @@ -1,7 +1,7 @@ import datetime import decimal import uuid -from enum import EnumMeta, Enum as E +from enum import Enum as E, EnumMeta from typing import Any, Optional, Set, TYPE_CHECKING, Type, TypeVar, Union, overload import pydantic diff --git a/ormar/models/mixins/save_mixin.py b/ormar/models/mixins/save_mixin.py index 4408fa7..e9512db 100644 --- a/ormar/models/mixins/save_mixin.py +++ b/ormar/models/mixins/save_mixin.py @@ -79,9 +79,9 @@ class SavePrepareMixin(RelationMixin, AliasMixin): @classmethod def translate_enum_columns(cls, new_kwargs: dict) -> dict: - for k, v in new_kwargs.items(): - if isinstance(v, Enum): - new_kwargs[k] = v.name + for key, value in new_kwargs.items(): + if isinstance(value, Enum): + new_kwargs[key] = value.name return new_kwargs @classmethod diff --git a/ormar/models/newbasemodel.py b/ormar/models/newbasemodel.py index 179cc75..2780d3c 100644 --- a/ormar/models/newbasemodel.py +++ b/ormar/models/newbasemodel.py @@ -22,8 +22,6 @@ from typing import ( import databases import pydantic import sqlalchemy - - from pydantic import BaseModel diff --git a/ormar/relations/relation_proxy.py b/ormar/relations/relation_proxy.py index baa6812..92bcd20 100644 --- a/ormar/relations/relation_proxy.py +++ b/ormar/relations/relation_proxy.py @@ -1,4 +1,4 @@ -from typing import Any, Generic, Optional, TYPE_CHECKING, Type, TypeVar +from typing import Any, Generic, List, Optional, TYPE_CHECKING, Type, TypeVar import ormar from ormar.exceptions import NoMatch, RelationshipInstanceError @@ -13,7 +13,7 @@ else: T = TypeVar("T", bound="Model") -class RelationProxy(Generic[T], list): +class RelationProxy(Generic[T], List[T]): """ Proxy of the Relation that is a list with special methods. """ diff --git a/tests/test_types.py b/tests/test_types.py index d4f8dad..b5122a8 100644 --- a/tests/test_types.py +++ b/tests/test_types.py @@ -86,6 +86,7 @@ async def test_types() -> None: # reveal_type(publisher) # model method # reveal_type(publishers) # many to many # reveal_type(publishers[0]) # item in m2m list + # reveal_type(next(p for p in publishers)) # item in m2m iterator # # getting relation without __getattribute__ # reveal_type(authors) # reverse many to many # TODO: wrong # reveal_type(book2) # queryset get