mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-24 08:25:17 -06:00
10348 fix tests
This commit is contained in:
parent
2c81fc2c56
commit
ad6d4f892d
@ -1161,7 +1161,7 @@ class CustomFieldModelFilterTest(TestCase):
|
|||||||
'cf9': ['A', 'X'],
|
'cf9': ['A', 'X'],
|
||||||
'cf10': manufacturers[0].pk,
|
'cf10': manufacturers[0].pk,
|
||||||
'cf11': [manufacturers[0].pk, manufacturers[3].pk],
|
'cf11': [manufacturers[0].pk, manufacturers[3].pk],
|
||||||
'cf12': 100.25,
|
'cf12': decimal.Decimal(100.25),
|
||||||
}),
|
}),
|
||||||
Site(name='Site 2', slug='site-2', custom_field_data={
|
Site(name='Site 2', slug='site-2', custom_field_data={
|
||||||
'cf1': 200,
|
'cf1': 200,
|
||||||
@ -1175,7 +1175,7 @@ class CustomFieldModelFilterTest(TestCase):
|
|||||||
'cf9': ['B', 'X'],
|
'cf9': ['B', 'X'],
|
||||||
'cf10': manufacturers[1].pk,
|
'cf10': manufacturers[1].pk,
|
||||||
'cf11': [manufacturers[1].pk, manufacturers[3].pk],
|
'cf11': [manufacturers[1].pk, manufacturers[3].pk],
|
||||||
'cf12': 200.25,
|
'cf12': decimal.Decimal(200.25),
|
||||||
}),
|
}),
|
||||||
Site(name='Site 3', slug='site-3', custom_field_data={
|
Site(name='Site 3', slug='site-3', custom_field_data={
|
||||||
'cf1': 300,
|
'cf1': 300,
|
||||||
@ -1189,7 +1189,7 @@ class CustomFieldModelFilterTest(TestCase):
|
|||||||
'cf9': ['C', 'X'],
|
'cf9': ['C', 'X'],
|
||||||
'cf10': manufacturers[2].pk,
|
'cf10': manufacturers[2].pk,
|
||||||
'cf11': [manufacturers[2].pk, manufacturers[3].pk],
|
'cf11': [manufacturers[2].pk, manufacturers[3].pk],
|
||||||
'cf12': 300.25,
|
'cf12': decimal.Decimal("300.25"),
|
||||||
}),
|
}),
|
||||||
])
|
])
|
||||||
|
|
||||||
@ -1202,8 +1202,9 @@ class CustomFieldModelFilterTest(TestCase):
|
|||||||
self.assertEqual(self.filterset({'cf_cf1__lte': [200]}, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset({'cf_cf1__lte': [200]}, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
def test_filter_decimal(self):
|
def test_filter_decimal(self):
|
||||||
self.assertEqual(self.filterset({'cf_cf12': [100.25, 200.25]}, self.queryset).qs.count(), 3)
|
self.assertEqual(self.filterset({'cf_cf12__gt': [200.25]}, self.queryset).qs.count(), 1)
|
||||||
self.assertEqual(self.filterset({'cf_cf12__n': [200.25]}, self.queryset).qs.count(), 3)
|
self.assertEqual(self.filterset({'cf_cf12': [100.25, 200.25]}, self.queryset).qs.count(), 2)
|
||||||
|
self.assertEqual(self.filterset({'cf_cf12__n': [200.25]}, self.queryset).qs.count(), 2)
|
||||||
self.assertEqual(self.filterset({'cf_cf12__gt': [200.25]}, self.queryset).qs.count(), 1)
|
self.assertEqual(self.filterset({'cf_cf12__gt': [200.25]}, self.queryset).qs.count(), 1)
|
||||||
self.assertEqual(self.filterset({'cf_cf12__gte': [200.25]}, self.queryset).qs.count(), 2)
|
self.assertEqual(self.filterset({'cf_cf12__gte': [200.25]}, self.queryset).qs.count(), 2)
|
||||||
self.assertEqual(self.filterset({'cf_cf12__lt': [200.25]}, self.queryset).qs.count(), 1)
|
self.assertEqual(self.filterset({'cf_cf12__lt': [200.25]}, self.queryset).qs.count(), 1)
|
||||||
|
@ -46,7 +46,7 @@ class BaseFilterSet(django_filters.FilterSet):
|
|||||||
'filter_class': filters.MultiValueDateTimeFilter
|
'filter_class': filters.MultiValueDateTimeFilter
|
||||||
},
|
},
|
||||||
models.DecimalField: {
|
models.DecimalField: {
|
||||||
'filter_class': filters.MultiValueNumberFilter
|
'filter_class': filters.MultiValueDecimalFilter
|
||||||
},
|
},
|
||||||
models.EmailField: {
|
models.EmailField: {
|
||||||
'filter_class': filters.MultiValueCharFilter
|
'filter_class': filters.MultiValueCharFilter
|
||||||
@ -95,6 +95,7 @@ class BaseFilterSet(django_filters.FilterSet):
|
|||||||
filters.MultiValueDateFilter,
|
filters.MultiValueDateFilter,
|
||||||
filters.MultiValueDateTimeFilter,
|
filters.MultiValueDateTimeFilter,
|
||||||
filters.MultiValueNumberFilter,
|
filters.MultiValueNumberFilter,
|
||||||
|
filters.MultiValueDecimalFilter,
|
||||||
filters.MultiValueTimeFilter
|
filters.MultiValueTimeFilter
|
||||||
)):
|
)):
|
||||||
return FILTER_NUMERIC_BASED_LOOKUP_MAP
|
return FILTER_NUMERIC_BASED_LOOKUP_MAP
|
||||||
|
@ -23,6 +23,14 @@ def multivalue_field_factory(field_class):
|
|||||||
field.to_python(v) for v in value if v
|
field.to_python(v) for v in value if v
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def run_validators(self, value):
|
||||||
|
for v in value:
|
||||||
|
super().run_validators(v)
|
||||||
|
|
||||||
|
def validate(self, value):
|
||||||
|
for v in value:
|
||||||
|
super().validate(v)
|
||||||
|
|
||||||
return type(f'MultiValue{field_class.__name__}', (NewField,), dict())
|
return type(f'MultiValue{field_class.__name__}', (NewField,), dict())
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user