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
8dd9ccfa
Commit
8dd9ccfa
authored
Oct 25, 2012
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed #104. Do not apply filter joins if filter is not enabled
parent
73a16803
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
14 deletions
+14
-14
simple.py
examples/sqla/simple.py
+0
-1
view.py
flask_admin/contrib/sqlamodel/view.py
+14
-13
No files found.
examples/sqla/simple.py
View file @
8dd9ccfa
...
@@ -53,7 +53,6 @@ class Post(db.Model):
...
@@ -53,7 +53,6 @@ class Post(db.Model):
class
Tag
(
db
.
Model
):
class
Tag
(
db
.
Model
):
id
=
db
.
Column
(
db
.
Integer
,
primary_key
=
True
)
id
=
db
.
Column
(
db
.
Integer
,
primary_key
=
True
)
name
=
db
.
Column
(
db
.
Unicode
(
64
))
name
=
db
.
Column
(
db
.
Unicode
(
64
))
value
=
db
.
Column
(
db
.
Boolean
())
def
__unicode__
(
self
):
def
__unicode__
(
self
):
return
self
.
name
return
self
.
name
...
...
flask_admin/contrib/sqlamodel/view.py
View file @
8dd9ccfa
...
@@ -354,6 +354,7 @@ class ModelView(BaseModelView):
...
@@ -354,6 +354,7 @@ class ModelView(BaseModelView):
if
attr
is
None
:
if
attr
is
None
:
raise
Exception
(
'Failed to find field for filter:
%
s'
%
name
)
raise
Exception
(
'Failed to find field for filter:
%
s'
%
name
)
# Figure out filters for related column
if
hasattr
(
attr
,
'property'
)
and
hasattr
(
attr
.
property
,
'direction'
):
if
hasattr
(
attr
,
'property'
)
and
hasattr
(
attr
.
property
,
'direction'
):
filters
=
[]
filters
=
[]
...
@@ -500,19 +501,19 @@ class ModelView(BaseModelView):
...
@@ -500,19 +501,19 @@ class ModelView(BaseModelView):
query
=
query
.
filter
(
or_
(
*
filter_stmt
))
query
=
query
.
filter
(
or_
(
*
filter_stmt
))
# Apply filters
# Apply filters
if
self
.
_filters
:
if
filters
and
self
.
_filters
:
# Apply search-related joins
for
idx
,
value
in
filters
:
if
self
.
_filter_joins
:
flt
=
self
.
_filters
[
idx
]
new_joins
=
set
(
self
.
_filter_joins
.
keys
())
-
joins
# Figure out join
for
jn
in
new_joins
:
tbl
=
flt
.
column
.
table
.
name
query
=
query
.
join
(
self
.
_filter_joins
[
jn
]
)
join
=
self
.
_filter_joins
.
get
(
tbl
)
if
join
is
not
None
:
joins
|=
new_joins
query
=
query
.
join
(
join
)
joins
.
add
(
tbl
)
# Apply filter values
for
flt
,
value
in
filters
:
# Apply filter
query
=
self
.
_filters
[
flt
]
.
apply
(
query
,
value
)
query
=
flt
.
apply
(
query
,
value
)
# Calculate number of rows
# Calculate number of rows
count
=
query
.
count
()
count
=
query
.
count
()
...
...
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