Managers¶
Manager base class¶
manager.Manager
is used by ModelResource
to implement a backend integration.
-
class
flask_potion.manager.
Manager
(resource, model)¶ Parameters: - resource (flask_potion.resource.Resource) – resource class
- model – model read from
Meta.model
orNone
-
relation_instances
(item, attribute, target_resource, page=None, per_page=None)¶ Parameters: - item –
- attribute –
- target_resource –
- page –
- per_page –
Returns:
-
relation_add
(item, attribute, target_resource, target_item)¶ Parameters: - item –
- attribute –
- target_resource –
- target_item –
Returns:
-
relation_remove
(item, attribute, target_resource, target_item)¶ Parameters: - item –
- attribute –
- target_resource –
- target_item –
Returns:
-
paginated_instances
(page, per_page, where=None, sort=None)¶ Parameters: - page –
- per_page –
- where –
- sort –
Returns: a
Pagination
object or similar
-
instances
(where=None, sort=None)¶ Parameters: - where –
- sort –
Returns:
-
first
(where=None, sort=None)¶ Parameters: - where –
- sort –
Returns: Raises: exceptions.ItemNotFound –
-
create
(properties, commit=True)¶ Parameters: - properties –
- commit –
Returns:
-
read
(id)¶ Parameters: id – Returns:
-
update
(item, changes, commit=True)¶ Parameters: - item –
- changes –
- commit –
Returns:
-
delete
(item)¶ Parameters: item – Returns:
-
delete_by_id
(id)¶ Parameters: id – Returns:
-
class
flask_potion.manager.
RelationalManager
(resource, model)¶ RelationalManager
is a base class for managers that do relational lookups on the basis of a query builder.
Manager implementations¶
The following backend managers ship with Flask-Potion:
-
class
contrib.memory.
MemoryManager
(resource, model)¶ An in-memory, pure-python
Manager
implementation.Warning
This manager is intended for debugging & testing only and should not be used in production.
-
class
contrib.alchemy.
SQLAlchemyManager
(resource, model)¶ A manager for SQLAlchemy models.
Expects that
Meta.model
contains a SQLALchemy declarative model.
-
class
contrib.peewee.
PeeweeManager
(resource, model)¶ A manager for Peewee models.
Additionally, contrib.alchemy.SQLAlchemyManager
can be extended with
contrib.principals.PrincipalsMixin
to form a new manager that implements a permissions system based on Flask-Principals.