schemas: cast filter values with dimension type (#40484)

This commit is contained in:
Benjamin Dauvergne 2020-03-06 09:57:52 +01:00
parent 68e29c7298
commit 3e380e43cf
1 changed files with 14 additions and 4 deletions

View File

@ -296,10 +296,20 @@ class Dimension(Base):
return '', []
is_none = None in filter_values
filter_values = [v for v in filter_values if v is not None]
if self.type == 'integer':
values = [int(v) for v in filter_values]
else:
values = filter_values
values = []
for value in filter_values:
try:
if self.type == 'string':
value = str(value)
elif self.type == 'integer':
value = int(value)
elif self.type == 'bool':
value = bool(value)
else:
raise NotImplementedError
except (ValueError, TypeError):
continue
values.append(value)
expressions = []
if values:
s = ', '.join(['%s'] * len(values))