Ensure all model FilterSets support the 'id' field

This commit is contained in:
Jeremy Stretch
2020-05-06 12:33:52 -04:00
parent 4d5d298ee1
commit 1ccb3162ff
14 changed files with 162 additions and 94 deletions

View File

@@ -52,7 +52,7 @@ class TenantFilterSet(BaseFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterS
class Meta:
model = Tenant
fields = ['name', 'slug']
fields = ['id', 'name', 'slug']
def search(self, queryset, name, value):
if not value.strip():

View File

@@ -28,8 +28,7 @@ class TenantGroupTestCase(TestCase):
tenantgroup.save()
def test_id(self):
id_list = self.queryset.values_list('id', flat=True)[:2]
params = {'id': [str(id) for id in id_list]}
params = {'id': self.queryset.values_list('pk', flat=True)[:2]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_name(self):
@@ -74,6 +73,10 @@ class TenantTestCase(TestCase):
)
Tenant.objects.bulk_create(tenants)
def test_id(self):
params = {'id': self.queryset.values_list('pk', flat=True)[:2]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_name(self):
params = {'name': ['Tenant 1', 'Tenant 2']}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)