neutron_lib.db.model_query 模块¶
- 注意:此模块是一个临时补丁,直到网络项目迁移到
版本化的对象,此时不再需要此模块。
- neutron_lib.db.model_query.apply_filters(query, model, filters, context=None)¶
将过滤器应用于查询。
- 参数:
query – 应用过滤器的查询。
model – 查询的模型。
filters – 要应用的过滤器。
context – 用于 DB 会话的上下文。
- 返回值:
应用了过滤器的查询。
- neutron_lib.db.model_query.get_by_id(context, model, object_id, lazy_fields=None)¶
使用给定的上下文查询特定对象。
- 参数:
context – 在查询中使用的上下文。
model – 要查询的模型。
object_id – 要查询的对象的 ID。
lazy_fields – 用于延迟加载的字段列表
- 返回值:
具有给定 object_id 的模型的对象。
- 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)¶
获取特定模型的集合。
- 参数:
context – 用于 DB 会话的上下文。
model – 集合的模型。
dict_func – 用于构建集合字典的函数。
filters – 要应用的过滤器。
fields – 要收集的字段。
sorts – 要使用的排序键。
limit – 如果适用,查询的限制。
marker_obj – 如果适用,标记对象。
page_reverse – 如果应使用反向分页。
lazy_fields – 用于延迟加载的字段列表
- 返回值:
一个字典列表,其中每个字典是集合中的一个对象。
- neutron_lib.db.model_query.get_collection_count(context, model, filters=None, query_field=None)¶
获取特定集合的计数。
- 参数:
context – 用于 DB 会话的上下文。
model – 查询的模型。
filters – 要应用的过滤器。
query_field – “模型”中的列,以字符串格式表示;查询将仅返回此参数,而不是完整的模型列。
- 返回值:
应用过滤器后,所述模型的对象数量。
- 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)¶
获取集合查询。
- 参数:
context – 用于 DB 会话的上下文。
model – 要使用的模型。
filters – 要应用于查询的过滤器。
sorts – 要使用的排序键。
limit – 与查询关联的限制。
marker_obj – 如果适用,标记对象。
page_reverse – 如果应使用反向分页。
field – “模型”中的列,以字符串格式表示;查询将仅返回此参数,而不是完整的模型列。
lazy_fields – 用于延迟加载的字段列表
- 返回值:
所述模型的分页查询。
- neutron_lib.db.model_query.get_hooks(model)¶
检索模型的模型查询钩子。
- 参数:
model – 要查找查询钩子的 DB 模型。
- 返回值:
钩子列表
- neutron_lib.db.model_query.get_rbac_actions(model)¶
检索并在模型中请求的所有 RBAC 操作
- 参数:
model – 要查找查询钩子的 DB 模型。
- 返回值:
模型中或默认 RBAC 操作(‘access_as_shared’、‘access_as_readonly’)中定义的 RBAC 操作集
- 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)¶
使用所述上下文和模型查询钩子。
- 参数:
context – 用于 DB 会话的上下文。
model – 要查询的模型。
field – 该列。
lazy_fields – 用于延迟加载的字段列表
- 返回值:
应用了钩子的查询。
- neutron_lib.db.model_query.register_hook(model, name, query_hook, filter_hook, result_filters=None, rbac_actions=None)¶
注册要在执行查询时调用的钩子。
将钩子组件添加到 _model_query_hooks 字典中。模型是此字典的键,而值是另一个字典,该字典将钩子名称映射到执行钩子的可调用对象,或者在
rbac_actions的情况下,是用于过滤模型的 RBAC 操作集。- 参数:
model – 钩子应用的 DB 模型。
name – 钩子的名称。
query_hook – 要调用以增强查询的方法。
filter_hook – 要调用以增强查询过滤器的的方法。
result_filters – 要调用以过滤查询结果的方法。
rbac_actions – 一个可迭代的 RBAC 操作或单个操作(字符串)。
- 返回值:
None。