Skip to content

Explore alternative implementations for multi-model parent relationships #6440

Closed
@jeremystretch

Description

@jeremystretch

Proposed Changes

There are several areas in NetBox where an object can be assigned to multiple types of "parent" object. Some examples include:

  • VLANGroup scope
  • Service device/VM
  • IPAddress interface

As we continue to extend the data model, this type of relationship will become more common. The current implementation generally employs a separate ForeignKey field for each model, to overcome performance limitations concerning the use of GenericForeignKey. Moving forward, we should look into alternative implementations that might be easier to maintain without sacrificing performance significantly.

Justification

If we can identify a suitable solution, this will allow us to support multi-model parent relationships without needing to add multiple discrete ForeignKey fields, reducing the long-term maintenance burden.

Metadata

Metadata

Assignees

No one assigned

    Labels

    pending closureRequires immediate attention to avoid being closed for inactivitystatus: under reviewFurther discussion is needed to determine this issue's scope and/or implementationtype: housekeepingChanges to the application which do not directly impact the end user

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions