rename relationshipmanager
This commit is contained in:
@ -76,7 +76,7 @@ Since you join two times to the same table (categories) it won't work by default
|
||||
|
||||
But don't worry - ormar can handle situations like this, as it uses the Relationship Manager which has it's aliases defined for all relationships.
|
||||
|
||||
Each class is registered with the same instance of the RelationshipManager that you can access like this:
|
||||
Each class is registered with the same instance of the AliasManager that you can access like this:
|
||||
|
||||
```python
|
||||
SchoolClass._orm_relationship_manager
|
||||
|
||||
@ -36,6 +36,6 @@ print('department' in course.__dict__)
|
||||
# False <- related model is not stored on Course instance
|
||||
print(course.department)
|
||||
# Department(id=None, name='Science') <- Department model
|
||||
# returned from RelationshipManager
|
||||
# returned from AliasManager
|
||||
print(course.department.name)
|
||||
# Science
|
||||
@ -1,4 +1,4 @@
|
||||
from ormar.models.model import Model
|
||||
from ormar.models.newbasemodel import NewBaseModel
|
||||
from ormar.models.model import Model
|
||||
|
||||
__all__ = ["NewBaseModel", "Model"]
|
||||
|
||||
@ -10,12 +10,12 @@ from ormar import ForeignKey, ModelDefinitionError # noqa I100
|
||||
from ormar.fields import BaseField
|
||||
from ormar.fields.foreign_key import ForeignKeyField
|
||||
from ormar.queryset import QuerySet
|
||||
from ormar.relations import RelationshipManager
|
||||
from ormar.relations import AliasManager
|
||||
|
||||
if TYPE_CHECKING: # pragma no cover
|
||||
from ormar import Model
|
||||
|
||||
relationship_manager = RelationshipManager()
|
||||
relationship_manager = AliasManager()
|
||||
|
||||
|
||||
class ModelMeta:
|
||||
@ -26,7 +26,7 @@ class ModelMeta:
|
||||
columns: List[sqlalchemy.Column]
|
||||
pkname: str
|
||||
model_fields: Dict[str, Union[BaseField, ForeignKey]]
|
||||
_orm_relationship_manager: RelationshipManager
|
||||
_orm_relationship_manager: AliasManager
|
||||
|
||||
|
||||
def register_relation_on_build(table_name: str, field: ForeignKey, name: str) -> None:
|
||||
|
||||
@ -22,7 +22,7 @@ import ormar # noqa I100
|
||||
from ormar.fields import BaseField
|
||||
from ormar.models.metaclass import ModelMeta, ModelMetaclass
|
||||
from ormar.models.modelproxy import ModelTableProxy
|
||||
from ormar.relations import RelationshipManager
|
||||
from ormar.relations import AliasManager
|
||||
|
||||
if TYPE_CHECKING: # pragma no cover
|
||||
from ormar.models.model import Model
|
||||
@ -45,7 +45,7 @@ class NewBaseModel(pydantic.BaseModel, ModelTableProxy, metaclass=ModelMetaclass
|
||||
__tablename__: str
|
||||
__metadata__: sqlalchemy.MetaData
|
||||
__database__: databases.Database
|
||||
_orm_relationship_manager: RelationshipManager
|
||||
_orm_relationship_manager: AliasManager
|
||||
Meta: ModelMeta
|
||||
|
||||
# noinspection PyMissingConstructor
|
||||
|
||||
@ -6,7 +6,7 @@ from sqlalchemy import text
|
||||
import ormar # noqa I100
|
||||
from ormar.fields.foreign_key import ForeignKeyField
|
||||
from ormar.queryset.relationship_crawler import RelationshipCrawler
|
||||
from ormar.relations import RelationshipManager
|
||||
from ormar.relations import AliasManager
|
||||
|
||||
if TYPE_CHECKING: # pragma no cover
|
||||
from ormar import Model
|
||||
@ -44,7 +44,7 @@ class Query:
|
||||
self.order_bys = None
|
||||
|
||||
@property
|
||||
def relation_manager(self) -> RelationshipManager:
|
||||
def relation_manager(self) -> AliasManager:
|
||||
return self.model_cls.Meta._orm_relationship_manager
|
||||
|
||||
def build_select_expression(self) -> Tuple[sqlalchemy.sql.select, List[str]]:
|
||||
|
||||
@ -18,7 +18,7 @@ def get_table_alias() -> str:
|
||||
return "".join(choices(string.ascii_uppercase, k=2)) + uuid.uuid4().hex[:4]
|
||||
|
||||
|
||||
class RelationshipManager:
|
||||
class AliasManager:
|
||||
def __init__(self) -> None:
|
||||
self._relations = dict()
|
||||
self._aliases = dict()
|
||||
|
||||
Reference in New Issue
Block a user