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
a3bd004e
Commit
a3bd004e
authored
Aug 12, 2015
by
Paul Brown
Browse files
Options
Browse Files
Download
Plain Diff
allow overriding get_list page_size, fixes merge conflicts in #644
parents
05d18308
5ecb59f2
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
66 additions
and
17 deletions
+66
-17
view.py
flask_admin/contrib/mongoengine/view.py
+12
-4
view.py
flask_admin/contrib/peewee/view.py
+29
-4
view.py
flask_admin/contrib/pymongo/view.py
+11
-4
view.py
flask_admin/contrib/sqla/view.py
+14
-5
No files found.
flask_admin/contrib/mongoengine/view.py
View file @
a3bd004e
...
@@ -454,7 +454,7 @@ class ModelView(BaseModelView):
...
@@ -454,7 +454,7 @@ class ModelView(BaseModelView):
return
query
.
filter
(
criteria
)
return
query
.
filter
(
criteria
)
def
get_list
(
self
,
page
,
sort_column
,
sort_desc
,
search
,
filters
,
def
get_list
(
self
,
page
,
sort_column
,
sort_desc
,
search
,
filters
,
execute
=
True
):
execute
=
True
,
page_size
=
None
):
"""
"""
Get list of objects from MongoEngine
Get list of objects from MongoEngine
...
@@ -470,6 +470,10 @@ class ModelView(BaseModelView):
...
@@ -470,6 +470,10 @@ class ModelView(BaseModelView):
List of applied filters
List of applied filters
:param execute:
:param execute:
Run query immediately or not
Run query immediately or not
:param page_size:
Number of results. Defaults to ModelView's page_size. Can be
overriden to change the page_size limit. Removing the page_size
limit requires setting page_size to 0 or False.
"""
"""
query
=
self
.
get_query
()
query
=
self
.
get_query
()
...
@@ -496,10 +500,14 @@ class ModelView(BaseModelView):
...
@@ -496,10 +500,14 @@ class ModelView(BaseModelView):
query
=
query
.
order_by
(
'
%
s
%
s'
%
(
'-'
if
order
[
1
]
else
''
,
order
[
0
]))
query
=
query
.
order_by
(
'
%
s
%
s'
%
(
'-'
if
order
[
1
]
else
''
,
order
[
0
]))
# Pagination
# Pagination
if
page
is
not
None
:
if
page
_size
is
None
:
query
=
query
.
skip
(
page
*
self
.
page_size
)
page_size
=
self
.
page_size
query
=
query
.
limit
(
self
.
page_size
)
if
page_size
:
query
=
query
.
limit
(
page_size
)
if
page
and
page_size
:
query
=
query
.
skip
(
page
*
page_size
)
if
execute
:
if
execute
:
query
=
query
.
all
()
query
=
query
.
all
()
...
...
flask_admin/contrib/peewee/view.py
View file @
a3bd004e
...
@@ -302,7 +302,28 @@ class ModelView(BaseModelView):
...
@@ -302,7 +302,28 @@ class ModelView(BaseModelView):
return
self
.
model
.
select
()
return
self
.
model
.
select
()
def
get_list
(
self
,
page
,
sort_column
,
sort_desc
,
search
,
filters
,
def
get_list
(
self
,
page
,
sort_column
,
sort_desc
,
search
,
filters
,
execute
=
True
):
execute
=
True
,
page_size
=
None
):
"""
Return records from the database.
:param page:
Page number
:param sort_column:
Sort column name
:param sort_desc:
Descending or ascending sort
:param search:
Search query
:param filters:
List of filter tuples
:param execute:
Execute query immediately? Default is `True`
:param page_size:
Number of results. Defaults to ModelView's page_size. Can be
overriden to change the page_size limit. Removing the page_size
limit requires setting page_size to 0 or False.
"""
query
=
self
.
get_query
()
query
=
self
.
get_query
()
joins
=
set
()
joins
=
set
()
...
@@ -353,10 +374,14 @@ class ModelView(BaseModelView):
...
@@ -353,10 +374,14 @@ class ModelView(BaseModelView):
query
,
joins
=
self
.
_order_by
(
query
,
joins
,
order
[
0
],
order
[
1
])
query
,
joins
=
self
.
_order_by
(
query
,
joins
,
order
[
0
],
order
[
1
])
# Pagination
# Pagination
if
page
is
not
None
:
if
page_size
is
None
:
query
=
query
.
offset
(
page
*
self
.
page_size
)
page_size
=
self
.
page_size
if
page_size
:
query
=
query
.
limit
(
page_size
)
query
=
query
.
limit
(
self
.
page_size
)
if
page
and
page_size
:
query
=
query
.
offset
(
page
*
page_size
)
if
execute
:
if
execute
:
query
=
list
(
query
.
execute
())
query
=
list
(
query
.
execute
())
...
...
flask_admin/contrib/pymongo/view.py
View file @
a3bd004e
...
@@ -184,7 +184,7 @@ class ModelView(BaseModelView):
...
@@ -184,7 +184,7 @@ class ModelView(BaseModelView):
return
query
return
query
def
get_list
(
self
,
page
,
sort_column
,
sort_desc
,
search
,
filters
,
def
get_list
(
self
,
page
,
sort_column
,
sort_desc
,
search
,
filters
,
execute
=
True
):
execute
=
True
,
page_size
=
None
):
"""
"""
Get list of objects from MongoEngine
Get list of objects from MongoEngine
...
@@ -200,6 +200,10 @@ class ModelView(BaseModelView):
...
@@ -200,6 +200,10 @@ class ModelView(BaseModelView):
List of applied fiters
List of applied fiters
:param execute:
:param execute:
Run query immediately or not
Run query immediately or not
:param page_size:
Number of results. Defaults to ModelView's page_size. Can be
overriden to change the page_size limit. Removing the page_size
limit requires setting page_size to 0 or False.
"""
"""
query
=
{}
query
=
{}
...
@@ -236,12 +240,15 @@ class ModelView(BaseModelView):
...
@@ -236,12 +240,15 @@ class ModelView(BaseModelView):
sort_by
=
[(
order
[
0
],
pymongo
.
DESCENDING
if
order
[
1
]
else
pymongo
.
ASCENDING
)]
sort_by
=
[(
order
[
0
],
pymongo
.
DESCENDING
if
order
[
1
]
else
pymongo
.
ASCENDING
)]
# Pagination
# Pagination
if
page_size
is
None
:
page_size
=
self
.
page_size
skip
=
None
skip
=
None
if
page
is
not
Non
e
:
if
page
and
page_siz
e
:
skip
=
page
*
self
.
page_size
skip
=
page
*
page_size
results
=
self
.
coll
.
find
(
query
,
sort
=
sort_by
,
skip
=
skip
,
limit
=
self
.
page_size
)
results
=
self
.
coll
.
find
(
query
,
sort
=
sort_by
,
skip
=
skip
,
limit
=
page_size
)
if
execute
:
if
execute
:
results
=
list
(
results
)
results
=
list
(
results
)
...
...
flask_admin/contrib/sqla/view.py
View file @
a3bd004e
...
@@ -884,9 +884,10 @@ class ModelView(BaseModelView):
...
@@ -884,9 +884,10 @@ class ModelView(BaseModelView):
return
query
,
count_query
,
joins
,
count_joins
return
query
,
count_query
,
joins
,
count_joins
def
get_list
(
self
,
page
,
sort_column
,
sort_desc
,
search
,
filters
,
execute
=
True
):
def
get_list
(
self
,
page
,
sort_column
,
sort_desc
,
search
,
filters
,
execute
=
True
,
page_size
=
None
):
"""
"""
Return
model
s from the database.
Return
record
s from the database.
:param page:
:param page:
Page number
Page number
...
@@ -900,6 +901,10 @@ class ModelView(BaseModelView):
...
@@ -900,6 +901,10 @@ class ModelView(BaseModelView):
Execute query immediately? Default is `True`
Execute query immediately? Default is `True`
:param filters:
:param filters:
List of filter tuples
List of filter tuples
:param page_size:
Number of results. Defaults to ModelView's page_size. Can be
overriden to change the page_size limit. Removing the page_size
limit requires setting page_size to 0 or False.
"""
"""
# Will contain join paths with optional aliased object
# Will contain join paths with optional aliased object
...
@@ -943,10 +948,14 @@ class ModelView(BaseModelView):
...
@@ -943,10 +948,14 @@ class ModelView(BaseModelView):
query
,
joins
=
self
.
_apply_sorting
(
query
,
joins
,
sort_column
,
sort_desc
)
query
,
joins
=
self
.
_apply_sorting
(
query
,
joins
,
sort_column
,
sort_desc
)
# Pagination
# Pagination
if
page
is
not
None
:
if
page
_size
is
None
:
query
=
query
.
offset
(
page
*
self
.
page_size
)
page_size
=
self
.
page_size
query
=
query
.
limit
(
self
.
page_size
)
if
page_size
:
query
=
query
.
limit
(
page_size
)
if
page
and
page_size
:
query
=
query
.
offset
(
page
*
page_size
)
# Execute if needed
# Execute if needed
if
execute
:
if
execute
:
...
...
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