Skip to content


Replace Aggregate with Prefix

Aggregate models are removed in v2.0 and all existing Aggregate instances are migrated to Prefix with type set to "Container". So your models and data that are associated with Aggregate via ForeignKey or ManyToMany relationships are now required to be migrated to Prefix. Please go here for this change and its potential impact on other models.

Introduction of Namespace

A Namespace groups together a set of related but distinct VRFs, Prefixes, and IP addresses. Within a given Namespace, only a single record may exist for each distinct VRF, Prefix, or IP address. Although such a record may be used in multiple locations within your network, such as a VRF being configured on multiple Devices, or a virtual IP address being assigned to multiple Interfaces or Devices, it is fundamentally a single network object in these cases, and Nautobot models this data accordingly. Check out the model documentation here

Concrete Relationship between Prefix and IP Address

IP addresses now have a concrete relationship with its parent Prefix. IPAddress.parent now refers to the parent prefix and Prefix.ip_addresses refers to the child ips.`

Concrete Relationship between Prefix and Self

Each Prefix now has a concrete parent/child relationship with related Prefixes. Prefix.parent refers to its parent prefix and Prefix.children refers to all its child Prefixes.

Convert Relationship Type between Prefix and VRF to Many to Many

Prefixes now no longer have a ForeignKey to VRF. Instead, the Many to Many relationship is now defined on the VRF side as VRF.prefixes. VRF is also no longer a uniqueness constraint on the Prefix. Namespace is used instead. Additionally, VRF is no longer assigned directly to an IPAddress but is now derived from any association to the parent Prefix.