From 8b815221642ee6bad8168a679fc9681d8ffac735 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 2 Jan 2025 14:58:17 -0500 Subject: [PATCH] Add generic relations for group assignments --- netbox/circuits/models/circuits.py | 10 ++++++++-- netbox/circuits/models/virtual_circuits.py | 8 ++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/netbox/circuits/models/circuits.py b/netbox/circuits/models/circuits.py index 57bbab866..708c6be9c 100644 --- a/netbox/circuits/models/circuits.py +++ b/netbox/circuits/models/circuits.py @@ -1,8 +1,7 @@ from django.apps import apps -from django.contrib.contenttypes.fields import GenericForeignKey +from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation from django.core.exceptions import ValidationError from django.db import models -from django.db.models import Q from django.urls import reverse from django.utils.translation import gettext_lazy as _ @@ -117,6 +116,13 @@ class Circuit(ContactsMixin, ImageAttachmentsMixin, DistanceMixin, PrimaryModel) null=True ) + group_assignments = GenericRelation( + to='circuits.CircuitGroupAssignment', + content_type_field='member_type', + object_id_field='member_id', + related_query_name='circuit' + ) + clone_fields = ( 'provider', 'provider_account', 'type', 'status', 'tenant', 'install_date', 'termination_date', 'commit_rate', 'description', diff --git a/netbox/circuits/models/virtual_circuits.py b/netbox/circuits/models/virtual_circuits.py index ced68c105..04255cd0d 100644 --- a/netbox/circuits/models/virtual_circuits.py +++ b/netbox/circuits/models/virtual_circuits.py @@ -1,5 +1,6 @@ from functools import cached_property +from django.contrib.contenttypes.fields import GenericRelation from django.core.exceptions import ValidationError from django.db import models from django.urls import reverse @@ -50,6 +51,13 @@ class VirtualCircuit(PrimaryModel): null=True ) + group_assignments = GenericRelation( + to='circuits.CircuitGroupAssignment', + content_type_field='member_type', + object_id_field='member_id', + related_query_name='virtual_circuit' + ) + clone_fields = ( 'provider_network', 'provider_account', 'status', 'tenant', 'description', )