fix: add grid filters specific to numeric, integer types
This commit is contained in:
parent
d63a9223d3
commit
c33f211633
2 changed files with 53 additions and 0 deletions
|
@ -465,6 +465,33 @@ class StringAlchemyFilter(AlchemyFilter):
|
|||
sa.and_(*criteria)))
|
||||
|
||||
|
||||
class NumericAlchemyFilter(AlchemyFilter):
|
||||
"""
|
||||
SQLAlchemy filter option for a numeric data column.
|
||||
|
||||
Subclass of :class:`AlchemyFilter`.
|
||||
"""
|
||||
default_verbs = ['equal', 'not_equal',
|
||||
'greater_than', 'greater_equal',
|
||||
'less_than', 'less_equal']
|
||||
|
||||
|
||||
class IntegerAlchemyFilter(NumericAlchemyFilter):
|
||||
"""
|
||||
SQLAlchemy filter option for an integer data column.
|
||||
|
||||
Subclass of :class:`NumericAlchemyFilter`.
|
||||
"""
|
||||
|
||||
def coerce_value(self, value):
|
||||
""" """
|
||||
if value:
|
||||
try:
|
||||
return int(value)
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
class BooleanAlchemyFilter(AlchemyFilter):
|
||||
"""
|
||||
SQLAlchemy filter option for a boolean data column.
|
||||
|
@ -568,6 +595,8 @@ default_sqlalchemy_filters = {
|
|||
None: AlchemyFilter,
|
||||
sa.String: StringAlchemyFilter,
|
||||
sa.Text: StringAlchemyFilter,
|
||||
sa.Numeric: NumericAlchemyFilter,
|
||||
sa.Integer: IntegerAlchemyFilter,
|
||||
sa.Boolean: BooleanAlchemyFilter,
|
||||
sa.Date: DateAlchemyFilter,
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue