Skip to content

Manager class

edgy.Manager

Manager(*, owner=None, inherit=True, name='', instance=None)

Bases: BaseManager

Base Manager for the Edgy Models. To create a custom manager, the best approach is to inherit from the ModelManager.

Example

from saffier.managers import ModelManager
from saffier.models import Model


class MyCustomManager(ModelManager): ...


class MyOtherManager(ModelManager): ...


class MyModel(saffier.Model):
    query = MyCustomManager()
    active = MyOtherManager()

    ...
PARAMETER DESCRIPTION
owner

TYPE: Optional[Union[Type[EdgyBaseModel]]] DEFAULT: None

inherit

TYPE: bool DEFAULT: True

name

TYPE: str DEFAULT: ''

instance

TYPE: Optional[Union[EdgyBaseModel]] DEFAULT: None

Source code in edgy/core/db/models/managers.py
10
11
12
13
14
def __init__(self, *, owner: Optional[Union[Type["EdgyBaseModel"]]] = None, inherit: bool=True, name: str = "", instance: Optional[Union["EdgyBaseModel"]]=None):
    self.owner = owner
    self.inherit = inherit
    self.name = name
    self.instance = instance

owner instance-attribute

owner = owner

inherit instance-attribute

inherit = inherit

name instance-attribute

name = name

instance instance-attribute

instance = instance

model_class property

model_class

get_queryset

get_queryset()

Returns the queryset object.

Checks for a global possible tenant and returns the corresponding queryset.

Source code in edgy/core/db/models/managers.py
54
55
56
57
58
59
60
61
62
63
64
65
66
67
def get_queryset(self) -> "QuerySet":
    """
    Returns the queryset object.

    Checks for a global possible tenant and returns the corresponding queryset.
    """
    tenant = get_tenant()
    if tenant:
        set_tenant(None)
        return QuerySet(
            self.owner,
            table=self.owner.table_schema(tenant),  # type: ignore
        )
    return QuerySet(self.owner)