Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
flask-admin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
flask-admin
Commits
38152bcd
Commit
38152bcd
authored
Dec 12, 2015
by
Paul Brown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
improve column_filters docs
parent
f2a53614
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
115 additions
and
13 deletions
+115
-13
app.py
examples/sqla-custom-filter/app.py
+3
-4
view.py
flask_admin/contrib/mongoengine/view.py
+28
-2
view.py
flask_admin/contrib/peewee/view.py
+28
-2
view.py
flask_admin/contrib/pymongo/view.py
+28
-3
view.py
flask_admin/contrib/sqla/view.py
+28
-2
No files found.
examples/sqla-custom-filter/app.py
View file @
38152bcd
...
@@ -62,10 +62,9 @@ class UserAdmin(sqla.ModelView):
...
@@ -62,10 +62,9 @@ class UserAdmin(sqla.ModelView):
# each filter in the list is a filter operation (equals, not equals, etc)
# each filter in the list is a filter operation (equals, not equals, etc)
# filters with the same name will appear as operations under the same filter
# filters with the same name will appear as operations under the same filter
column_filters
=
[
column_filters
=
[
FilterEqual
(
User
.
last_name
,
'Last Name'
),
FilterEqual
(
column
=
User
.
last_name
,
name
=
'Last Name'
),
FilterLastNameBrown
(
FilterLastNameBrown
(
column
=
User
.
last_name
,
name
=
'Last Name'
,
User
.
last_name
,
'Last Name'
,
options
=
((
'1'
,
'Yes'
),
(
'0'
,
'No'
))
options
=
((
'1'
,
'Yes'
),
(
'0'
,
'No'
)))
)
]
]
...
...
flask_admin/contrib/mongoengine/view.py
View file @
38152bcd
...
@@ -53,9 +53,11 @@ class ModelView(BaseModelView):
...
@@ -53,9 +53,11 @@ class ModelView(BaseModelView):
Collection of the column filters.
Collection of the column filters.
Can contain either field names or instances of
Can contain either field names or instances of
:class:`flask_admin.contrib.mongoengine.filters.BaseFilter`
:class:`flask_admin.contrib.mongoengine.filters.Base
MongoEngine
Filter`
classes.
classes.
Filters will be grouped by name when displayed in the drop-down.
For example::
For example::
class MyModelView(BaseModelView):
class MyModelView(BaseModelView):
...
@@ -63,8 +65,32 @@ class ModelView(BaseModelView):
...
@@ -63,8 +65,32 @@ class ModelView(BaseModelView):
or::
or::
from flask_admin.contrib.mongoengine.filters import BooleanEqualFilter
class MyModelView(BaseModelView):
column_filters = (BooleanEqualFilter(column=User.name, name='Name'),)
or::
from flask_admin.contrib.mongoengine.filters import BaseMongoEngineFilter
class FilterLastNameBrown(BaseMongoEngineFilter):
def apply(self, query, value):
if value == '1':
return query.filter(self.column == "Brown")
else:
return query.filter(self.column != "Brown")
def operation(self):
return 'is Brown'
class MyModelView(BaseModelView):
class MyModelView(BaseModelView):
column_filters = (BooleanEqualFilter(User.name, 'Name'))
column_filters = [
FilterLastNameBrown(
column=User.last_name, name='Last Name',
options=(('1', 'Yes'), ('0', 'No'))
)
]
"""
"""
model_form_converter
=
CustomModelConverter
model_form_converter
=
CustomModelConverter
...
...
flask_admin/contrib/peewee/view.py
View file @
38152bcd
...
@@ -27,7 +27,9 @@ class ModelView(BaseModelView):
...
@@ -27,7 +27,9 @@ class ModelView(BaseModelView):
Collection of the column filters.
Collection of the column filters.
Can contain either field names or instances of
Can contain either field names or instances of
:class:`flask_admin.contrib.peewee.filters.BaseFilter` classes.
:class:`flask_admin.contrib.peewee.filters.BasePeeweeFilter` classes.
Filters will be grouped by name when displayed in the drop-down.
For example::
For example::
...
@@ -36,8 +38,32 @@ class ModelView(BaseModelView):
...
@@ -36,8 +38,32 @@ class ModelView(BaseModelView):
or::
or::
from flask_admin.contrib.peewee.filters import BooleanEqualFilter
class MyModelView(BaseModelView):
column_filters = (BooleanEqualFilter(column=User.name, name='Name'),)
or::
from flask_admin.contrib.peewee.filters import BasePeeweeFilter
class FilterLastNameBrown(BasePeeweeFilter):
def apply(self, query, value):
if value == '1':
return query.filter(self.column == "Brown")
else:
return query.filter(self.column != "Brown")
def operation(self):
return 'is Brown'
class MyModelView(BaseModelView):
class MyModelView(BaseModelView):
column_filters = (BooleanEqualFilter(User.name, 'Name'))
column_filters = [
FilterLastNameBrown(
column=User.last_name, name='Last Name',
options=(('1', 'Yes'), ('0', 'No'))
)
]
"""
"""
model_form_converter
=
CustomModelConverter
model_form_converter
=
CustomModelConverter
...
...
flask_admin/contrib/pymongo/view.py
View file @
38152bcd
...
@@ -29,13 +29,38 @@ class ModelView(BaseModelView):
...
@@ -29,13 +29,38 @@ class ModelView(BaseModelView):
Collection of the column filters.
Collection of the column filters.
Should contain instances of
Should contain instances of
:class:`flask_admin.contrib.pymongo.filters.BasePyMongoFilter`
:class:`flask_admin.contrib.pymongo.filters.BasePyMongoFilter` classes.
classes.
Filters will be grouped by name when displayed in the drop-down.
For example::
For example::
from flask_admin.contrib.pymongo.filters import BooleanEqualFilter
class MyModelView(BaseModelView):
column_filters = (BooleanEqualFilter(column=User.name, name='Name'),)
or::
from flask_admin.contrib.pymongo.filters import BasePyMongoFilter
class FilterLastNameBrown(BasePyMongoFilter):
def apply(self, query, value):
if value == '1':
return query.filter(self.column == "Brown")
else:
return query.filter(self.column != "Brown")
def operation(self):
return 'is Brown'
class MyModelView(BaseModelView):
class MyModelView(BaseModelView):
column_filters = (BooleanEqualFilter(User.name, 'Name'),)
column_filters = [
FilterLastNameBrown(
column=User.last_name, name='Last Name',
options=(('1', 'Yes'), ('0', 'No'))
)
]
"""
"""
def
__init__
(
self
,
coll
,
def
__init__
(
self
,
coll
,
...
...
flask_admin/contrib/sqla/view.py
View file @
38152bcd
...
@@ -117,7 +117,10 @@ class ModelView(BaseModelView):
...
@@ -117,7 +117,10 @@ class ModelView(BaseModelView):
"""
"""
Collection of the column filters.
Collection of the column filters.
Can contain either field names or instances of :class:`flask_admin.contrib.sqla.filters.BaseFilter` classes.
Can contain either field names or instances of
:class:`flask_admin.contrib.sqla.filters.BaseSQLAFilter` classes.
Filters will be grouped by name when displayed in the drop-down.
For example::
For example::
...
@@ -126,8 +129,31 @@ class ModelView(BaseModelView):
...
@@ -126,8 +129,31 @@ class ModelView(BaseModelView):
or::
or::
from flask_admin.contrib.sqla.filters import BooleanEqualFilter
class MyModelView(BaseModelView):
column_filters = (BooleanEqualFilter(column=User.name, name='Name'),)
or::
from flask_admin.contrib.sqla.filters import BaseSQLAFilter
class FilterLastNameBrown(BaseSQLAFilter):
def apply(self, query, value, alias=None):
if value == '1':
return query.filter(self.column == "Brown")
else:
return query.filter(self.column != "Brown")
def operation(self):
return 'is Brown'
class MyModelView(BaseModelView):
class MyModelView(BaseModelView):
column_filters = (BooleanEqualFilter(User.name, 'Name'))
column_filters = [
FilterLastNameBrown(
User.last_name, 'Last Name', options=(('1', 'Yes'), ('0', 'No'))
)
]
"""
"""
model_form_converter
=
form
.
AdminModelConverter
model_form_converter
=
form
.
AdminModelConverter
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment