mirror of
				https://github.com/netbox-community/netbox.git
				synced 2024-05-10 07:54:54 +00:00 
			
		
		
		
	fixes #3428 - caching invalidation issues
Mitgate invalidation issues by using prefetch_related instead of select_related. Also use invalidated_update instead of just update.
This commit is contained in:
		@@ -35,10 +35,8 @@ class TenantGroupViewSet(ModelViewSet):
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
class TenantViewSet(CustomFieldModelViewSet):
 | 
			
		||||
    queryset = Tenant.objects.select_related(
 | 
			
		||||
        'group'
 | 
			
		||||
    ).prefetch_related(
 | 
			
		||||
        'tags'
 | 
			
		||||
    queryset = Tenant.objects.prefetch_related(
 | 
			
		||||
        'group', 'tags'
 | 
			
		||||
    ).annotate(
 | 
			
		||||
        circuit_count=get_subquery(Circuit, 'tenant'),
 | 
			
		||||
        device_count=get_subquery(Device, 'tenant'),
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@ class TenantGroupBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 | 
			
		||||
 | 
			
		||||
class TenantListView(PermissionRequiredMixin, ObjectListView):
 | 
			
		||||
    permission_required = 'tenancy.view_tenant'
 | 
			
		||||
    queryset = Tenant.objects.select_related('group')
 | 
			
		||||
    queryset = Tenant.objects.prefetch_related('group')
 | 
			
		||||
    filter = filters.TenantFilter
 | 
			
		||||
    filter_form = forms.TenantFilterForm
 | 
			
		||||
    table = tables.TenantTable
 | 
			
		||||
@@ -115,7 +115,7 @@ class TenantBulkImportView(PermissionRequiredMixin, BulkImportView):
 | 
			
		||||
 | 
			
		||||
class TenantBulkEditView(PermissionRequiredMixin, BulkEditView):
 | 
			
		||||
    permission_required = 'tenancy.change_tenant'
 | 
			
		||||
    queryset = Tenant.objects.select_related('group')
 | 
			
		||||
    queryset = Tenant.objects.prefetch_related('group')
 | 
			
		||||
    filter = filters.TenantFilter
 | 
			
		||||
    table = tables.TenantTable
 | 
			
		||||
    form = forms.TenantBulkEditForm
 | 
			
		||||
@@ -124,7 +124,7 @@ class TenantBulkEditView(PermissionRequiredMixin, BulkEditView):
 | 
			
		||||
 | 
			
		||||
class TenantBulkDeleteView(PermissionRequiredMixin, BulkDeleteView):
 | 
			
		||||
    permission_required = 'tenancy.delete_tenant'
 | 
			
		||||
    queryset = Tenant.objects.select_related('group')
 | 
			
		||||
    queryset = Tenant.objects.prefetch_related('group')
 | 
			
		||||
    filter = filters.TenantFilter
 | 
			
		||||
    table = tables.TenantTable
 | 
			
		||||
    default_return_url = 'tenancy:tenant_list'
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user