Skip to content

NetBox模型

模型类型

NetBox模型代表离散的对象类型,例如设备或IP地址。根据Django约定,每个模型都定义为Python类,并在PostgreSQL数据库中拥有自己的表。所有NetBox数据模型都可以按类型分类。

Django的内容类型框架用于将Django模型映射到数据库表。ContentType实例通过其app_labelname引用模型:例如,DCIM应用程序中的Site模型被称为dcim.site。内容类型与对象的主键组合形成对象的全局唯一标识符(例如dcim.site:123)。

功能矩阵

根据其分类,每个NetBox模型可能支持不同的功能,以增强其操作。通过从指定的混合类继承,可以启用每个功能,并且一些功能还使用应用程序注册表

功能 功能混合器 注册表键 描述
更改日志记录 ChangeLoggingMixin - 对这些对象的更改会自动记录在更改日志中
复制 CloningMixin - 提供clone()方法以准备副本
自定义字段 CustomFieldsMixin custom_fields 这些模型支持添加用户定义字段
自定义链接 CustomLinksMixin custom_links 这些模型支持分配自定义链接
自定义验证 CustomValidationMixin - 支持强制执行自定义验证规则
导出模板 ExportTemplatesMixin export_templates 用户可以为这些模型创建自定义导出模板
作业结果 JobsMixin jobs 用户可以为这些模型创建自定义导出模板
记录日志 JournalingMixin journaling 这些模型支持持久性历史评论
同步数据 SyncedDataMixin synced_data 某些模型数据可以自动从远程数据源同步
标签 TagsMixin tags 模型可以带有用户定义的标签
事件规则 EventRulesMixin event_rules 事件规则可以在事件发生时自动发送Webhook或运行自定义脚本

模型索引

主要模型

这些被认为是用于建模网络基础设施的“核心”应用程序模型。

组织模型

组织模型用于组织和分类主要模型。

嵌套组模型

嵌套组模型的行为类似于组织模型,但在递归层次结构内自我嵌套。例如,Region模型可用于表示国家、州和城市的层次结构。

组件模型

组件模型表示属于设备或虚拟机的单个物理或虚拟组件。

组件模板模型

这些模型作为模板,用于复制设备和虚拟机组件。组件模板模型支持有限的功能集,包括更改日志记录、自定义验证和事件规则。