neutron_lib.db.utils 模块¶
- neutron_lib.db.utils.filter_non_model_columns(data, model)¶
返回 data 中是模型列的属性。
- 参数:
data – 包含要过滤的数据的字典。
model – 用于过滤数据时使用其列名的模型。
- 返回值:
一个新的字典,其键是 model 中的列或模型的关联代理。
- neutron_lib.db.utils.get_and_validate_sort_keys(sorts, model)¶
从 sorts 中提取排序键,并确保它们对模型有效。
- 参数:
sorts – (键, 方向) 元组的列表。
model – sqlalchemy ORM 模型类。
- 返回值:
提取的排序键列表。
- 引发:
BadRequest – 如果排序键属性引用了另一个资源,并且不能用于排序。
- neutron_lib.db.utils.get_marker_obj(plugin, context, resource, limit, marker)¶
检索资源标记对象。
此函数用于调用 plugin._get_<resource>(context, marker),用于分页。
- 参数:
plugin – 处理请求的插件。
context – 请求上下文。
resource – 资源名称。
limit – 指示分页是否生效。
marker – 标记对象的 ID。
- 返回值:
如果给定了 limit 和 marker,则与插件关联的标记对象。
- neutron_lib.db.utils.get_sort_dirs(sorts, page_reverse=False)¶
提取排序方向,可能反转。
- 参数:
sorts – (键, 方向) 元组的列表。
page_reverse – 如果排序方向反转,则为 True。
- 返回值:
可选反转的提取的排序方向列表。
- neutron_lib.db.utils.is_retriable(exception)¶
确定所述异常是否可重试。
- 参数:
exception – 要检查的异常。
- 返回值:
如果‘exception’可重试,则为 True,否则为 False。
- neutron_lib.db.utils.model_query(context, model)¶
为所述模型查询上下文。
- 参数:
context – 用于查询的上下文。
model – 要查询的模型。
- 返回值:
所述上下文对所述模型的查询。
- neutron_lib.db.utils.model_query_scope_is_project(context, model)¶
确定模型是否应限定为项目。
- 参数:
context – 检查管理员和 advsvc 权限的上下文。
model – 要检查 project_id 的模型。
- 返回值:
如果上下文没有全局访问权限,并且不是 advsvc,并且模型具有 project_id,则为 True。否则为 False。
- neutron_lib.db.utils.reraise_as_retryrequest(function)¶
在发生错误时,用 RetryRequest 包装所述函数。
- 参数:
function – 要包装/装饰的函数。
- 返回值:
所述函数包装在 try 块中,任何异常都将作为 RetryRequest 重新引发。
- 引发:
RetryRequest – 如果包装的函数引发可重试异常。
- neutron_lib.db.utils.resource_fields(resource, fields)¶
仅返回 fields 中存在的资源项。
- 参数:
resource – 资源字典。
fields – 要从资源中选择的字段列表。
- 返回值:
一个新的字典,其中仅包含 resource 中的字段以及其属性项目信息。