mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
12552 add back add_related_count
This commit is contained in:
@ -99,14 +99,13 @@ class PassThroughPortMixin(object):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class RegionViewSet(NetBoxModelViewSet):
|
class RegionViewSet(NetBoxModelViewSet):
|
||||||
queryset = Region.objects.all().prefetch_related('tags')
|
queryset = Region.objects.add_related_count(
|
||||||
# queryset = Region.objects.add_related_count(
|
Region.objects.all(),
|
||||||
# Region.objects.all(),
|
Site,
|
||||||
# Site,
|
'region',
|
||||||
# 'region',
|
'site_count',
|
||||||
# 'site_count',
|
cumulative=True
|
||||||
# cumulative=True
|
).prefetch_related('tags')
|
||||||
# ).prefetch_related('tags')
|
|
||||||
serializer_class = serializers.RegionSerializer
|
serializer_class = serializers.RegionSerializer
|
||||||
filterset_class = filtersets.RegionFilterSet
|
filterset_class = filtersets.RegionFilterSet
|
||||||
|
|
||||||
@ -116,14 +115,13 @@ class RegionViewSet(NetBoxModelViewSet):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class SiteGroupViewSet(NetBoxModelViewSet):
|
class SiteGroupViewSet(NetBoxModelViewSet):
|
||||||
queryset = SiteGroup.objects.all().prefetch_related('tags')
|
queryset = SiteGroup.objects.add_related_count(
|
||||||
# queryset = SiteGroup.objects.add_related_count(
|
SiteGroup.objects.all(),
|
||||||
# SiteGroup.objects.all(),
|
Site,
|
||||||
# Site,
|
'group',
|
||||||
# 'group',
|
'site_count',
|
||||||
# 'site_count',
|
cumulative=True
|
||||||
# cumulative=True
|
).prefetch_related('tags')
|
||||||
# ).prefetch_related('tags')
|
|
||||||
serializer_class = serializers.SiteGroupSerializer
|
serializer_class = serializers.SiteGroupSerializer
|
||||||
filterset_class = filtersets.SiteGroupFilterSet
|
filterset_class = filtersets.SiteGroupFilterSet
|
||||||
|
|
||||||
@ -152,20 +150,19 @@ class SiteViewSet(NetBoxModelViewSet):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class LocationViewSet(NetBoxModelViewSet):
|
class LocationViewSet(NetBoxModelViewSet):
|
||||||
queryset = Location.objects.all().prefetch_related('site', 'tags')
|
queryset = Location.objects.add_related_count(
|
||||||
# queryset = Location.objects.add_related_count(
|
Location.objects.add_related_count(
|
||||||
# Location.objects.add_related_count(
|
Location.objects.all(),
|
||||||
# Location.objects.all(),
|
Device,
|
||||||
# Device,
|
'location',
|
||||||
# 'location',
|
'device_count',
|
||||||
# 'device_count',
|
cumulative=True
|
||||||
# cumulative=True
|
),
|
||||||
# ),
|
Rack,
|
||||||
# Rack,
|
'location',
|
||||||
# 'location',
|
'rack_count',
|
||||||
# 'rack_count',
|
cumulative=True
|
||||||
# cumulative=True
|
).prefetch_related('site', 'tags')
|
||||||
# ).prefetch_related('site', 'tags')
|
|
||||||
serializer_class = serializers.LocationSerializer
|
serializer_class = serializers.LocationSerializer
|
||||||
filterset_class = filtersets.LocationFilterSet
|
filterset_class = filtersets.LocationFilterSet
|
||||||
|
|
||||||
|
@ -198,14 +198,13 @@ class PathTraceView(generic.ObjectView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class RegionListView(generic.ObjectListView):
|
class RegionListView(generic.ObjectListView):
|
||||||
queryset = Region.objects.all().order_siblings_by("name")
|
queryset = Region.objects.add_related_count(
|
||||||
# queryset = Region.objects.add_related_count(
|
Region.objects.all(),
|
||||||
# Region.objects.all(),
|
Site,
|
||||||
# Site,
|
'region',
|
||||||
# 'region',
|
'site_count',
|
||||||
# 'site_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.RegionFilterSet
|
filterset = filtersets.RegionFilterSet
|
||||||
filterset_form = forms.RegionFilterForm
|
filterset_form = forms.RegionFilterForm
|
||||||
table = tables.RegionTable
|
table = tables.RegionTable
|
||||||
@ -245,28 +244,26 @@ class RegionBulkImportView(generic.BulkImportView):
|
|||||||
|
|
||||||
|
|
||||||
class RegionBulkEditView(generic.BulkEditView):
|
class RegionBulkEditView(generic.BulkEditView):
|
||||||
queryset = Region.objects.all()
|
queryset = Region.objects.add_related_count(
|
||||||
# queryset = Region.objects.add_related_count(
|
Region.objects.all(),
|
||||||
# Region.objects.all(),
|
Site,
|
||||||
# Site,
|
'region',
|
||||||
# 'region',
|
'site_count',
|
||||||
# 'site_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.RegionFilterSet
|
filterset = filtersets.RegionFilterSet
|
||||||
table = tables.RegionTable
|
table = tables.RegionTable
|
||||||
form = forms.RegionBulkEditForm
|
form = forms.RegionBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
class RegionBulkDeleteView(generic.BulkDeleteView):
|
class RegionBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = Region.objects.all()
|
queryset = Region.objects.add_related_count(
|
||||||
# queryset = Region.objects.add_related_count(
|
Region.objects.all(),
|
||||||
# Region.objects.all(),
|
Site,
|
||||||
# Site,
|
'region',
|
||||||
# 'region',
|
'site_count',
|
||||||
# 'site_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.RegionFilterSet
|
filterset = filtersets.RegionFilterSet
|
||||||
table = tables.RegionTable
|
table = tables.RegionTable
|
||||||
|
|
||||||
@ -281,14 +278,13 @@ class RegionContactsView(ObjectContactsView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class SiteGroupListView(generic.ObjectListView):
|
class SiteGroupListView(generic.ObjectListView):
|
||||||
queryset = SiteGroup.objects.all()
|
queryset = SiteGroup.objects.add_related_count(
|
||||||
# queryset = SiteGroup.objects.add_related_count(
|
SiteGroup.objects.all(),
|
||||||
# SiteGroup.objects.all(),
|
Site,
|
||||||
# Site,
|
'group',
|
||||||
# 'group',
|
'site_count',
|
||||||
# 'site_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.SiteGroupFilterSet
|
filterset = filtersets.SiteGroupFilterSet
|
||||||
filterset_form = forms.SiteGroupFilterForm
|
filterset_form = forms.SiteGroupFilterForm
|
||||||
table = tables.SiteGroupTable
|
table = tables.SiteGroupTable
|
||||||
@ -328,28 +324,26 @@ class SiteGroupBulkImportView(generic.BulkImportView):
|
|||||||
|
|
||||||
|
|
||||||
class SiteGroupBulkEditView(generic.BulkEditView):
|
class SiteGroupBulkEditView(generic.BulkEditView):
|
||||||
queryset = SiteGroup.objects.all()
|
queryset = SiteGroup.objects.add_related_count(
|
||||||
# queryset = SiteGroup.objects.add_related_count(
|
SiteGroup.objects.all(),
|
||||||
# SiteGroup.objects.all(),
|
Site,
|
||||||
# Site,
|
'group',
|
||||||
# 'group',
|
'site_count',
|
||||||
# 'site_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.SiteGroupFilterSet
|
filterset = filtersets.SiteGroupFilterSet
|
||||||
table = tables.SiteGroupTable
|
table = tables.SiteGroupTable
|
||||||
form = forms.SiteGroupBulkEditForm
|
form = forms.SiteGroupBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
class SiteGroupBulkDeleteView(generic.BulkDeleteView):
|
class SiteGroupBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = SiteGroup.objects.all()
|
queryset = SiteGroup.objects.add_related_count(
|
||||||
# queryset = SiteGroup.objects.add_related_count(
|
SiteGroup.objects.all(),
|
||||||
# SiteGroup.objects.all(),
|
Site,
|
||||||
# Site,
|
'group',
|
||||||
# 'group',
|
'site_count',
|
||||||
# 'site_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.SiteGroupFilterSet
|
filterset = filtersets.SiteGroupFilterSet
|
||||||
table = tables.SiteGroupTable
|
table = tables.SiteGroupTable
|
||||||
|
|
||||||
@ -394,21 +388,20 @@ class SiteView(generic.ObjectView):
|
|||||||
(Circuit.objects.restrict(request.user, 'view').filter(terminations__site=instance).distinct(), 'site_id'),
|
(Circuit.objects.restrict(request.user, 'view').filter(terminations__site=instance).distinct(), 'site_id'),
|
||||||
)
|
)
|
||||||
|
|
||||||
locations = Location.objects.all().restrict(request.user, 'view').filter(site=instance)
|
locations = Location.objects.add_related_count(
|
||||||
# locations = Location.objects.add_related_count(
|
Location.objects.all(),
|
||||||
# Location.objects.all(),
|
Rack,
|
||||||
# Rack,
|
'location',
|
||||||
# 'location',
|
'rack_count',
|
||||||
# 'rack_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
locations = Location.objects.add_related_count(
|
||||||
# locations = Location.objects.add_related_count(
|
locations,
|
||||||
# locations,
|
Device,
|
||||||
# Device,
|
'location',
|
||||||
# 'location',
|
'device_count',
|
||||||
# 'device_count',
|
cumulative=True
|
||||||
# cumulative=True
|
).restrict(request.user, 'view').filter(site=instance)
|
||||||
# ).restrict(request.user, 'view').filter(site=instance)
|
|
||||||
|
|
||||||
nonracked_devices = Device.objects.filter(
|
nonracked_devices = Device.objects.filter(
|
||||||
site=instance,
|
site=instance,
|
||||||
@ -463,20 +456,19 @@ class SiteContactsView(ObjectContactsView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class LocationListView(generic.ObjectListView):
|
class LocationListView(generic.ObjectListView):
|
||||||
queryset = Location.objects.all()
|
queryset = Location.objects.add_related_count(
|
||||||
# queryset = Location.objects.add_related_count(
|
Location.objects.add_related_count(
|
||||||
# Location.objects.add_related_count(
|
Location.objects.all(),
|
||||||
# Location.objects.all(),
|
Device,
|
||||||
# Device,
|
'location',
|
||||||
# 'location',
|
'device_count',
|
||||||
# 'device_count',
|
cumulative=True
|
||||||
# cumulative=True
|
),
|
||||||
# ),
|
Rack,
|
||||||
# Rack,
|
'location',
|
||||||
# 'location',
|
'rack_count',
|
||||||
# 'rack_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.LocationFilterSet
|
filterset = filtersets.LocationFilterSet
|
||||||
filterset_form = forms.LocationFilterForm
|
filterset_form = forms.LocationFilterForm
|
||||||
table = tables.LocationTable
|
table = tables.LocationTable
|
||||||
@ -523,28 +515,26 @@ class LocationBulkImportView(generic.BulkImportView):
|
|||||||
|
|
||||||
|
|
||||||
class LocationBulkEditView(generic.BulkEditView):
|
class LocationBulkEditView(generic.BulkEditView):
|
||||||
queryset = Location.objects.all()
|
queryset = Location.objects.add_related_count(
|
||||||
# queryset = Location.objects.add_related_count(
|
Location.objects.all(),
|
||||||
# Location.objects.all(),
|
Rack,
|
||||||
# Rack,
|
'location',
|
||||||
# 'location',
|
'rack_count',
|
||||||
# 'rack_count',
|
cumulative=True
|
||||||
# cumulative=True
|
).prefetch_related('site')
|
||||||
# ).prefetch_related('site')
|
|
||||||
filterset = filtersets.LocationFilterSet
|
filterset = filtersets.LocationFilterSet
|
||||||
table = tables.LocationTable
|
table = tables.LocationTable
|
||||||
form = forms.LocationBulkEditForm
|
form = forms.LocationBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
class LocationBulkDeleteView(generic.BulkDeleteView):
|
class LocationBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = Location.objects.all()
|
queryset = Location.objects.add_related_count(
|
||||||
# queryset = Location.objects.add_related_count(
|
Location.objects.all(),
|
||||||
# Location.objects.all(),
|
Rack,
|
||||||
# Rack,
|
'location',
|
||||||
# 'location',
|
'rack_count',
|
||||||
# 'rack_count',
|
cumulative=True
|
||||||
# cumulative=True
|
).prefetch_related('site')
|
||||||
# ).prefetch_related('site')
|
|
||||||
filterset = filtersets.LocationFilterSet
|
filterset = filtersets.LocationFilterSet
|
||||||
table = tables.LocationTable
|
table = tables.LocationTable
|
||||||
|
|
||||||
|
@ -24,14 +24,13 @@ class TenancyRootView(APIRootView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class TenantGroupViewSet(NetBoxModelViewSet):
|
class TenantGroupViewSet(NetBoxModelViewSet):
|
||||||
queryset = TenantGroup.objects.all().prefetch_related('tags')
|
queryset = TenantGroup.objects.add_related_count(
|
||||||
# queryset = TenantGroup.objects.add_related_count(
|
TenantGroup.objects.all(),
|
||||||
# TenantGroup.objects.all(),
|
Tenant,
|
||||||
# Tenant,
|
'group',
|
||||||
# 'group',
|
'tenant_count',
|
||||||
# 'tenant_count',
|
cumulative=True
|
||||||
# cumulative=True
|
).prefetch_related('tags')
|
||||||
# ).prefetch_related('tags')
|
|
||||||
serializer_class = serializers.TenantGroupSerializer
|
serializer_class = serializers.TenantGroupSerializer
|
||||||
filterset_class = filtersets.TenantGroupFilterSet
|
filterset_class = filtersets.TenantGroupFilterSet
|
||||||
|
|
||||||
@ -60,14 +59,13 @@ class TenantViewSet(NetBoxModelViewSet):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class ContactGroupViewSet(NetBoxModelViewSet):
|
class ContactGroupViewSet(NetBoxModelViewSet):
|
||||||
queryset = ContactGroup.objects.all().prefetch_related('tags')
|
queryset = ContactGroup.objects.add_related_count(
|
||||||
# queryset = ContactGroup.objects.add_related_count(
|
ContactGroup.objects.all(),
|
||||||
# ContactGroup.objects.all(),
|
Contact,
|
||||||
# Contact,
|
'group',
|
||||||
# 'group',
|
'contact_count',
|
||||||
# 'contact_count',
|
cumulative=True
|
||||||
# cumulative=True
|
).prefetch_related('tags')
|
||||||
# ).prefetch_related('tags')
|
|
||||||
serializer_class = serializers.ContactGroupSerializer
|
serializer_class = serializers.ContactGroupSerializer
|
||||||
filterset_class = filtersets.ContactGroupFilterSet
|
filterset_class = filtersets.ContactGroupFilterSet
|
||||||
|
|
||||||
|
@ -42,14 +42,13 @@ class ObjectContactsView(generic.ObjectChildrenView):
|
|||||||
|
|
||||||
|
|
||||||
class TenantGroupListView(generic.ObjectListView):
|
class TenantGroupListView(generic.ObjectListView):
|
||||||
queryset = TenantGroup.objects.all()
|
queryset = TenantGroup.objects.add_related_count(
|
||||||
# queryset = TenantGroup.objects.add_related_count(
|
TenantGroup.objects.all(),
|
||||||
# TenantGroup.objects.all(),
|
Tenant,
|
||||||
# Tenant,
|
'group',
|
||||||
# 'group',
|
'tenant_count',
|
||||||
# 'tenant_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.TenantGroupFilterSet
|
filterset = filtersets.TenantGroupFilterSet
|
||||||
filterset_form = forms.TenantGroupFilterForm
|
filterset_form = forms.TenantGroupFilterForm
|
||||||
table = tables.TenantGroupTable
|
table = tables.TenantGroupTable
|
||||||
@ -87,28 +86,26 @@ class TenantGroupBulkImportView(generic.BulkImportView):
|
|||||||
|
|
||||||
|
|
||||||
class TenantGroupBulkEditView(generic.BulkEditView):
|
class TenantGroupBulkEditView(generic.BulkEditView):
|
||||||
queryset = TenantGroup.objects.all()
|
queryset = TenantGroup.objects.add_related_count(
|
||||||
# queryset = TenantGroup.objects.add_related_count(
|
TenantGroup.objects.all(),
|
||||||
# TenantGroup.objects.all(),
|
Tenant,
|
||||||
# Tenant,
|
'group',
|
||||||
# 'group',
|
'tenant_count',
|
||||||
# 'tenant_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.TenantGroupFilterSet
|
filterset = filtersets.TenantGroupFilterSet
|
||||||
table = tables.TenantGroupTable
|
table = tables.TenantGroupTable
|
||||||
form = forms.TenantGroupBulkEditForm
|
form = forms.TenantGroupBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
class TenantGroupBulkDeleteView(generic.BulkDeleteView):
|
class TenantGroupBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = TenantGroup.objects.all()
|
queryset = TenantGroup.objects.add_related_count(
|
||||||
# queryset = TenantGroup.objects.add_related_count(
|
TenantGroup.objects.all(),
|
||||||
# TenantGroup.objects.all(),
|
Tenant,
|
||||||
# Tenant,
|
'group',
|
||||||
# 'group',
|
'tenant_count',
|
||||||
# 'tenant_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.TenantGroupFilterSet
|
filterset = filtersets.TenantGroupFilterSet
|
||||||
table = tables.TenantGroupTable
|
table = tables.TenantGroupTable
|
||||||
|
|
||||||
@ -201,14 +198,13 @@ class TenantContactsView(ObjectContactsView):
|
|||||||
#
|
#
|
||||||
|
|
||||||
class ContactGroupListView(generic.ObjectListView):
|
class ContactGroupListView(generic.ObjectListView):
|
||||||
queryset = ContactGroup.objects.all()
|
queryset = ContactGroup.objects.add_related_count(
|
||||||
# queryset = ContactGroup.objects.add_related_count(
|
ContactGroup.objects.all(),
|
||||||
# ContactGroup.objects.all(),
|
Contact,
|
||||||
# Contact,
|
'group',
|
||||||
# 'group',
|
'contact_count',
|
||||||
# 'contact_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.ContactGroupFilterSet
|
filterset = filtersets.ContactGroupFilterSet
|
||||||
filterset_form = forms.ContactGroupFilterForm
|
filterset_form = forms.ContactGroupFilterForm
|
||||||
table = tables.ContactGroupTable
|
table = tables.ContactGroupTable
|
||||||
@ -246,28 +242,26 @@ class ContactGroupBulkImportView(generic.BulkImportView):
|
|||||||
|
|
||||||
|
|
||||||
class ContactGroupBulkEditView(generic.BulkEditView):
|
class ContactGroupBulkEditView(generic.BulkEditView):
|
||||||
queryset = ContactGroup.objects.all()
|
queryset = ContactGroup.objects.add_related_count(
|
||||||
# queryset = ContactGroup.objects.add_related_count(
|
ContactGroup.objects.all(),
|
||||||
# ContactGroup.objects.all(),
|
Contact,
|
||||||
# Contact,
|
'group',
|
||||||
# 'group',
|
'contact_count',
|
||||||
# 'contact_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.ContactGroupFilterSet
|
filterset = filtersets.ContactGroupFilterSet
|
||||||
table = tables.ContactGroupTable
|
table = tables.ContactGroupTable
|
||||||
form = forms.ContactGroupBulkEditForm
|
form = forms.ContactGroupBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
class ContactGroupBulkDeleteView(generic.BulkDeleteView):
|
class ContactGroupBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = ContactGroup.objects.all()
|
queryset = ContactGroup.objects.add_related_count(
|
||||||
# queryset = ContactGroup.objects.add_related_count(
|
ContactGroup.objects.all(),
|
||||||
# ContactGroup.objects.all(),
|
Contact,
|
||||||
# Contact,
|
'group',
|
||||||
# 'group',
|
'contact_count',
|
||||||
# 'contact_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.ContactGroupFilterSet
|
filterset = filtersets.ContactGroupFilterSet
|
||||||
table = tables.ContactGroupTable
|
table = tables.ContactGroupTable
|
||||||
|
|
||||||
|
@ -23,3 +23,41 @@ class TreeManager(Manager.from_queryset(TreeQuerySet), TreeManager_):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
_with_tree_fields = True
|
_with_tree_fields = True
|
||||||
|
|
||||||
|
def add_related_count(
|
||||||
|
self,
|
||||||
|
queryset,
|
||||||
|
rel_model,
|
||||||
|
rel_field,
|
||||||
|
count_attr,
|
||||||
|
cumulative=False,
|
||||||
|
extra_filters={},
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Adds a related item count to a given ``QuerySet`` using its
|
||||||
|
``extra`` method, for a ``Model`` class which has a relation to
|
||||||
|
this ``Manager``'s ``Model`` class.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
``rel_model``
|
||||||
|
A ``Model`` class which has a relation to this `Manager``'s
|
||||||
|
``Model`` class.
|
||||||
|
|
||||||
|
``rel_field``
|
||||||
|
The name of the field in ``rel_model`` which holds the
|
||||||
|
relation.
|
||||||
|
|
||||||
|
``count_attr``
|
||||||
|
The name of an attribute which should be added to each item in
|
||||||
|
this ``QuerySet``, containing a count of how many instances
|
||||||
|
of ``rel_model`` are related to it through ``rel_field``.
|
||||||
|
|
||||||
|
``cumulative``
|
||||||
|
If ``True``, the count will be for each item and all of its
|
||||||
|
descendants, otherwise it will be for each item itself.
|
||||||
|
|
||||||
|
``extra_filters``
|
||||||
|
Dict with aditional parameters filtering the related queryset.
|
||||||
|
"""
|
||||||
|
return queryset
|
||||||
|
@ -11,14 +11,13 @@ from .models import *
|
|||||||
#
|
#
|
||||||
|
|
||||||
class WirelessLANGroupListView(generic.ObjectListView):
|
class WirelessLANGroupListView(generic.ObjectListView):
|
||||||
queryset = WirelessLANGroup.objects.all().prefetch_related('tags')
|
queryset = WirelessLANGroup.objects.add_related_count(
|
||||||
# queryset = WirelessLANGroup.objects.add_related_count(
|
WirelessLANGroup.objects.all(),
|
||||||
# WirelessLANGroup.objects.all(),
|
WirelessLAN,
|
||||||
# WirelessLAN,
|
'group',
|
||||||
# 'group',
|
'wirelesslan_count',
|
||||||
# 'wirelesslan_count',
|
cumulative=True
|
||||||
# cumulative=True
|
).prefetch_related('tags')
|
||||||
# ).prefetch_related('tags')
|
|
||||||
filterset = filtersets.WirelessLANGroupFilterSet
|
filterset = filtersets.WirelessLANGroupFilterSet
|
||||||
filterset_form = forms.WirelessLANGroupFilterForm
|
filterset_form = forms.WirelessLANGroupFilterForm
|
||||||
table = tables.WirelessLANGroupTable
|
table = tables.WirelessLANGroupTable
|
||||||
@ -56,28 +55,26 @@ class WirelessLANGroupBulkImportView(generic.BulkImportView):
|
|||||||
|
|
||||||
|
|
||||||
class WirelessLANGroupBulkEditView(generic.BulkEditView):
|
class WirelessLANGroupBulkEditView(generic.BulkEditView):
|
||||||
queryset = WirelessLANGroup.objects.all()
|
queryset = WirelessLANGroup.objects.add_related_count(
|
||||||
# queryset = WirelessLANGroup.objects.add_related_count(
|
WirelessLANGroup.objects.all(),
|
||||||
# WirelessLANGroup.objects.all(),
|
WirelessLAN,
|
||||||
# WirelessLAN,
|
'group',
|
||||||
# 'group',
|
'wirelesslan_count',
|
||||||
# 'wirelesslan_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.WirelessLANGroupFilterSet
|
filterset = filtersets.WirelessLANGroupFilterSet
|
||||||
table = tables.WirelessLANGroupTable
|
table = tables.WirelessLANGroupTable
|
||||||
form = forms.WirelessLANGroupBulkEditForm
|
form = forms.WirelessLANGroupBulkEditForm
|
||||||
|
|
||||||
|
|
||||||
class WirelessLANGroupBulkDeleteView(generic.BulkDeleteView):
|
class WirelessLANGroupBulkDeleteView(generic.BulkDeleteView):
|
||||||
queryset = WirelessLANGroup.objects.all()
|
queryset = WirelessLANGroup.objects.add_related_count(
|
||||||
# queryset = WirelessLANGroup.objects.add_related_count(
|
WirelessLANGroup.objects.all(),
|
||||||
# WirelessLANGroup.objects.all(),
|
WirelessLAN,
|
||||||
# WirelessLAN,
|
'group',
|
||||||
# 'group',
|
'wirelesslan_count',
|
||||||
# 'wirelesslan_count',
|
cumulative=True
|
||||||
# cumulative=True
|
)
|
||||||
# )
|
|
||||||
filterset = filtersets.WirelessLANGroupFilterSet
|
filterset = filtersets.WirelessLANGroupFilterSet
|
||||||
table = tables.WirelessLANGroupTable
|
table = tables.WirelessLANGroupTable
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user