Add doc block
This commit is contained in:
@@ -22,6 +22,38 @@ def dependencies(obj, foreign_keys=None):
|
|||||||
Return a QueryChain that iterates through all dependent objects for given
|
Return a QueryChain that iterates through all dependent objects for given
|
||||||
SQLAlchemy object.
|
SQLAlchemy object.
|
||||||
|
|
||||||
|
Consider a User object is referenced in various articles and also in
|
||||||
|
various orders. Getting all these dependent objects is as easy as:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
dependencies(user)
|
||||||
|
|
||||||
|
|
||||||
|
If you expect an object to have lots of dependencies it might be good to
|
||||||
|
limit the results::
|
||||||
|
|
||||||
|
|
||||||
|
dependencies(user).limit(5)
|
||||||
|
|
||||||
|
|
||||||
|
The common use case is checking for all dependent objects before delete
|
||||||
|
operation occurs on parent object and inform the user if there are
|
||||||
|
dependent objects with ondelete='RESTRICT' foreign keys. This can be
|
||||||
|
achieved as follows::
|
||||||
|
|
||||||
|
|
||||||
|
dependencies(
|
||||||
|
user,
|
||||||
|
(
|
||||||
|
fk for fk in get_referencing_foreign_keys(obj)
|
||||||
|
# On most databases RESTRICT is the default mode hence we check
|
||||||
|
# for None values also
|
||||||
|
if fk.ondelete='RESTRICT' or fk.ondelete is None
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
:param obj: SQLAlchemy declarative model object
|
:param obj: SQLAlchemy declarative model object
|
||||||
:param foreign_keys:
|
:param foreign_keys:
|
||||||
A sequence of foreign keys to use for searching the dependencies for
|
A sequence of foreign keys to use for searching the dependencies for
|
||||||
|
Reference in New Issue
Block a user