neutron_lib.db.model_query module¶
- NOTE: This module is a temporary shim until networking projects move to
versioned objects at which point this module shouldn’t be needed.
- neutron_lib.db.model_query.apply_filters(query, model, filters, context=None)¶
Apply filters to a query.
- Parameters:
query – The query to apply filters to.
model – The model for the query.
filters – The filters to apply.
context – The context to use for the DB session.
- Returns:
The query with filters applied to it.
- neutron_lib.db.model_query.get_by_id(context, model, object_id, lazy_fields=None)¶
Query the said model with the given context for a specific object.
- Parameters:
context – The context to use in the query.
model – The model to query.
object_id – The ID of the object to query for.
lazy_fields – list of fields for lazy loading
- Returns:
The object with the give object_id for the said model.
- neutron_lib.db.model_query.get_collection(context, model, dict_func, filters=None, fields=None, sorts=None, limit=None, marker_obj=None, page_reverse=False, lazy_fields=None)¶
Get a collection for a said model.
- Parameters:
context – The context to use for the DB session.
model – The model for the collection.
dict_func – The function used to build the collection dict.
filters – The filters to apply.
fields – The fields to collect.
sorts – The sort keys to use.
limit – The limit for the query if applicable.
marker_obj – The marker object if applicable.
page_reverse – If reverse paging should be used.
lazy_fields – list of fields for lazy loading
- Returns:
A list of dicts where each dict is an object in the collection.
- neutron_lib.db.model_query.get_collection_count(context, model, filters=None, query_field=None)¶
Get the count for a specific collection.
- Parameters:
context – The context to use for the DB session.
model – The model for the query.
filters – The filters to apply.
query_field – Column, in string format, from the “model”; the query will return only this parameter instead of the full model columns.
- Returns:
The number of objects for said model with filters applied.
- neutron_lib.db.model_query.get_collection_query(context, model, filters=None, sorts=None, limit=None, marker_obj=None, page_reverse=False, field=None, lazy_fields=None)¶
Get a collection query.
- Parameters:
context – The context to use for the DB session.
model – The model to use.
filters – The filters to apply in the query.
sorts – The sort keys to use.
limit – The limit associated with the query.
marker_obj – The marker object if applicable.
page_reverse – If reverse paging should be used.
field – Column, in string format, from the “model”; the query will return only this parameter instead of the full model columns.
lazy_fields – list of fields for lazy loading
- Returns:
A paginated query for the said model.
- neutron_lib.db.model_query.get_hooks(model)¶
Retrieve the model query hooks for a model.
- Parameters:
model – The DB Model to look up for query hooks.
- Returns:
list of hooks
- neutron_lib.db.model_query.get_rbac_actions(model)¶
Retrieve and combine all RBAC actions requested in a model
- Parameters:
model – The DB Model to look up for query hooks.
- Returns:
A set of RBAC actions defined in the model or the default RBAC actions (‘access_as_shared’, ‘access_as_readonly’)
- neutron_lib.db.model_query.get_values(context, model, field, filters=None)¶
- neutron_lib.db.model_query.query_with_hooks(context, model, field=None, lazy_fields=None)¶
Query with hooks using the said context and model.
- Parameters:
context – The context to use for the DB session.
model – The model to query.
field – The column.
lazy_fields – list of fields for lazy loading
- Returns:
The query with hooks applied to it.
- neutron_lib.db.model_query.register_hook(model, name, query_hook, filter_hook, result_filters=None, rbac_actions=None)¶
Register a hook to be invoked when a query is executed.
Adds the hook components to the _model_query_hooks dict. Models are the keys of this dict, whereas the value is another dict mapping hook names to callables performing the hook or in the case of
rbac_actions
, a set of RBAC actions to filter the model.- Parameters:
model – The DB Model that the hook applies to.
name – A name for the hook.
query_hook – The method to be called to augment the query.
filter_hook – A method to be called to augment the query filter.
result_filters – A Method to be called to filter the query result.
rbac_actions – An iterable of RBAC actions or a single one (string).
- Returns:
None.