mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-24 00:15: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'],
|
||||
'cf10': manufacturers[0].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={
|
||||
'cf1': 200,
|
||||
@ -1175,7 +1175,7 @@ class CustomFieldModelFilterTest(TestCase):
|
||||
'cf9': ['B', 'X'],
|
||||
'cf10': manufacturers[1].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={
|
||||
'cf1': 300,
|
||||
@ -1189,7 +1189,7 @@ class CustomFieldModelFilterTest(TestCase):
|
||||
'cf9': ['C', 'X'],
|
||||
'cf10': manufacturers[2].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)
|
||||
|
||||
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__n': [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': [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__gte': [200.25]}, self.queryset).qs.count(), 2)
|
||||
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
|
||||
},
|
||||
models.DecimalField: {
|
||||
'filter_class': filters.MultiValueNumberFilter
|
||||
'filter_class': filters.MultiValueDecimalFilter
|
||||
},
|
||||
models.EmailField: {
|
||||
'filter_class': filters.MultiValueCharFilter
|
||||
@ -95,6 +95,7 @@ class BaseFilterSet(django_filters.FilterSet):
|
||||
filters.MultiValueDateFilter,
|
||||
filters.MultiValueDateTimeFilter,
|
||||
filters.MultiValueNumberFilter,
|
||||
filters.MultiValueDecimalFilter,
|
||||
filters.MultiValueTimeFilter
|
||||
)):
|
||||
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
|
||||
]
|
||||
|
||||
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())
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user