diff --git a/netbox_access_lists/api/views.py b/netbox_access_lists/api/views.py index 4272871..e0d4dd4 100644 --- a/netbox_access_lists/api/views.py +++ b/netbox_access_lists/api/views.py @@ -10,7 +10,7 @@ class AccessListViewSet(NetBoxModelViewSet): queryset = models.AccessList.objects.prefetch_related( 'device', 'tags' ).annotate( - rule_count=Count('rules') + rule_count=Count('extended_acl_rules') + Count('standard_acl_rules') ) serializer_class = AccessListSerializer filterset_class = filtersets.AccessListFilterSet diff --git a/netbox_access_lists/migrations/0001_accesslist.py b/netbox_access_lists/migrations/0001_accesslist.py index 492c685..561d27e 100644 --- a/netbox_access_lists/migrations/0001_accesslist.py +++ b/netbox_access_lists/migrations/0001_accesslist.py @@ -43,7 +43,7 @@ class Migration(migrations.Migration): ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), ('tags', taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag')), ('index', models.PositiveIntegerField()), - ('access_list', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rules', to='netbox_access_lists.accesslist')), + ('access_list', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='standard_acl_rules', to='netbox_access_lists.accesslist')), ('remark', models.CharField(blank=True, null=True, max_length=500)), ('action', models.CharField(max_length=30)), ('source_prefix', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='ipam.prefix')), @@ -62,7 +62,7 @@ class Migration(migrations.Migration): ('custom_field_data', models.JSONField(blank=True, default=dict, encoder=django.core.serializers.json.DjangoJSONEncoder)), ('tags', taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag')), ('index', models.PositiveIntegerField()), - ('access_list', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rules', to='netbox_access_lists.accesslist')), + ('access_list', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='extended_acl_rules', to='netbox_access_lists.accesslist')), ('remark', models.CharField(blank=True, null=True, max_length=500)), ('action', models.CharField(max_length=30)), ('source_prefix', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to='ipam.prefix')), diff --git a/netbox_access_lists/models.py b/netbox_access_lists/models.py index c430248..4ec2647 100644 --- a/netbox_access_lists/models.py +++ b/netbox_access_lists/models.py @@ -124,7 +124,7 @@ class AccessListStandardRule(NetBoxModel): class AccessListExtendedRule(NetBoxModel): access_list = models.ForeignKey( on_delete=models.CASCADE, - related_name='rules', + related_name='extended_acl_rules', to=AccessList, verbose_name='Access List' ) diff --git a/netbox_access_lists/views.py b/netbox_access_lists/views.py index fb30e85..829760c 100644 --- a/netbox_access_lists/views.py +++ b/netbox_access_lists/views.py @@ -13,7 +13,7 @@ class AccessListView(generic.ObjectView): def get_extra_context(self, request, instance): if instance.type == 'extended': - table = tables.AccessListExtendedRuleTable(instance.rules.all()) + table = tables.AccessListExtendedRuleTable(instance.extended_acl_rules.all()) elif instance.type == 'standard': table = tables.AccessListStandardRuleTable(instance.standard_acl_rules.all()) table.configure(request) @@ -25,7 +25,7 @@ class AccessListView(generic.ObjectView): class AccessListListView(generic.ObjectListView): queryset = models.AccessList.objects.annotate( - rule_count=Count('rules') + Count('standard_acl_rules') + rule_count=Count('extended_acl_rules') + Count('standard_acl_rules') ) table = tables.AccessListTable filterset = filtersets.AccessListFilterSet