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
6e7fb167
Commit
6e7fb167
authored
Aug 27, 2012
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated documentation
parent
a260ad5f
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
95 additions
and
19 deletions
+95
-19
index.rst
doc/api/index.rst
+1
-0
mod_contrib_peeweemodel.rst
doc/api/mod_contrib_peeweemodel.rst
+19
-0
mod_contrib_sqlamodel.rst
doc/api/mod_contrib_sqlamodel.rst
+4
-0
mod_model.rst
doc/api/mod_model.rst
+4
-1
model_guidelines.rst
doc/model_guidelines.rst
+1
-1
form.py
flask_admin/contrib/peeweemodel/form.py
+4
-3
view.py
flask_admin/contrib/peeweemodel/view.py
+18
-7
form.py
flask_admin/contrib/sqlamodel/form.py
+4
-3
view.py
flask_admin/contrib/sqlamodel/view.py
+19
-2
form.py
flask_admin/model/form.py
+21
-2
No files found.
doc/api/index.rst
View file @
6e7fb167
...
...
@@ -10,4 +10,5 @@ API
mod_tools
mod_contrib_sqlamodel
mod_contrib_peeweemodel
mod_contrib_fileadmin
doc/api/mod_contrib_peeweemodel.rst
0 → 100644
View file @
6e7fb167
``flask.ext.admin.contrib.peeweemodel``
=======================================
Peewee model backend implementation.
.. automodule:: flask.ext.admin.contrib.peeweemodel
.. autoclass:: ModelView
:members:
:inherited-members:
:exclude-members: hide_backrefs, auto_select_related, list_select_related,
searchable_columns, filter_converter
Class inherits configuration options from :class:`~flask.ext.admin.model.BaseModelView` and they're not displayed here.
.. autoattribute:: searchable_columns
.. autoattribute:: filter_converter
.. autoattribute:: fast_mass_delete
.. autoattribute:: inline_models
doc/api/mod_contrib_sqlamodel.rst
View file @
6e7fb167
``flask.ext.admin.contrib.sqlamodel``
=====================================
SQLAlchemy model backend implementation.
.. automodule:: flask.ext.admin.contrib.sqlamodel
.. autoclass:: ModelView
...
...
@@ -16,3 +18,5 @@
.. autoattribute:: list_select_related
.. autoattribute:: searchable_columns
.. autoattribute:: filter_converter
.. autoattribute:: fast_mass_delete
.. autoattribute:: inline_models
doc/api/mod_model.rst
View file @
6e7fb167
...
...
@@ -8,7 +8,8 @@
:exclude-members: can_create, can_edit, can_delete, list_template, edit_template,
create_template, list_columns, excluded_list_columns, rename_columns,
sortable_columns, searchable_columns, column_filters, form, form_columns,
excluded_form_columns, form_args, form_overrides, page_size
excluded_form_columns, form_args, form_overrides, page_size,
disallowed_actions
.. autoattribute:: can_create
.. autoattribute:: can_edit
...
...
@@ -34,4 +35,6 @@
.. autoattribute:: form_args
.. autoattribute:: form_overrides
.. autoattribute:: disallowed_actions
.. autoattribute:: page_size
doc/model_guidelines.rst
View file @
6e7fb167
...
...
@@ -177,7 +177,7 @@ Steps to add new model backend:
This method should return list of models with paging,
sorting, etc applied.
For SQLAlchemy it looks like:
For SQLAlchemy
backend
it looks like:
1. If search was enabled and provided search value is not empty,
generate LIKE statements for each field from `self.searchable_columns`
...
...
flask_admin/contrib/peeweemodel/form.py
View file @
6e7fb167
...
...
@@ -114,8 +114,8 @@ def contribute_inline(model, form_class, inline_models):
# Remove reverse property from the list
ignore
=
[
reverse_field
.
name
]
if
info
.
exclude
:
exclude
=
ignore
+
info
.
exclude
if
info
.
exclude
d_form_columns
:
exclude
=
ignore
+
info
.
exclude
d_form_columns
else
:
exclude
=
ignore
...
...
@@ -123,8 +123,9 @@ def contribute_inline(model, form_class, inline_models):
converter
=
CustomModelConverter
()
child_form
=
model_form
(
info
.
model
,
base_class
=
form
.
BaseForm
,
only
=
info
.
include
,
only
=
info
.
form_columns
,
exclude
=
exclude
,
field_args
=
info
.
form_args
,
allow_pk
=
True
,
converter
=
converter
)
...
...
flask_admin/contrib/peeweemodel/view.py
View file @
6e7fb167
...
...
@@ -52,10 +52,27 @@ class ModelView(BaseModelView):
inline_models
=
None
"""
Inline related-model editing for parent to child relation::
Inline related-model editing for models with parent to child relation.
Accept enumerable with one of the values:
1. Child model class
class MyModelView(ModelView):
inline_models = (Post,)
2. Child model class and additional options
class MyModelView(ModelView):
inline_models = [(Post, dict(form_columns=['title']))]
3. Django-like ``InlineFormAdmin`` class instance
class MyInlineForm(InlineFormAdmin):
forum_columns = ('title', 'date')
class MyModelView(ModelView):
inline_models = (MyInlineForm,)
"""
def
__init__
(
self
,
model
,
name
=
None
,
...
...
@@ -257,12 +274,6 @@ class ModelView(BaseModelView):
return
False
def
update_model
(
self
,
form
,
model
):
"""
Update model from form.
`form`
Form instance
"""
try
:
form
.
populate_obj
(
model
)
model
.
save
()
...
...
flask_admin/contrib/sqlamodel/form.py
View file @
6e7fb167
...
...
@@ -345,8 +345,8 @@ def contribute_inline(session, model, form_class, inline_models):
# Remove reverse property from the list
ignore
=
[
reverse_prop
.
key
]
if
info
.
exclude
:
exclude
=
ignore
+
info
.
exclude
if
info
.
exclude
d_form_columns
:
exclude
=
ignore
+
info
.
exclude
d_form_columns
else
:
exclude
=
ignore
...
...
@@ -354,8 +354,9 @@ def contribute_inline(session, model, form_class, inline_models):
converter
=
AdminModelConverter
(
session
,
info
)
child_form
=
get_form
(
info
.
model
,
converter
,
only
=
info
.
include
,
only
=
info
.
form_columns
,
exclude
=
exclude
,
field_args
=
info
.
form_args
,
hidden_pk
=
True
)
setattr
(
form_class
,
...
...
flask_admin/contrib/sqlamodel/view.py
View file @
6e7fb167
...
...
@@ -114,7 +114,7 @@ class ModelView(BaseModelView):
fast_mass_delete
=
False
"""
If set to `False` and user deletes more than one model using
actions
,
If set to `False` and user deletes more than one model using
built in action
,
all models will be read from the database and then deleted one by one
giving SQLAlchemy chance to manually cleanup any dependencies (many-to-many
relationships, etc).
...
...
@@ -126,10 +126,27 @@ class ModelView(BaseModelView):
inline_models
=
None
"""
Inline related-model editing for parent to child relation::
Inline related-model editing for models with parent to child relation.
Accept enumerable with one of the values:
1. Child model class
class MyModelView(ModelView):
inline_models = (Post,)
2. Child model class and additional options
class MyModelView(ModelView):
inline_models = [(Post, dict(form_columns=['title']))]
3. Django-like ``InlineFormAdmin`` class instance
class MyInlineForm(InlineFormAdmin):
forum_columns = ('title', 'date')
class MyModelView(ModelView):
inline_models = (MyInlineForm,)
"""
def
__init__
(
self
,
model
,
session
,
...
...
flask_admin/model/form.py
View file @
6e7fb167
...
...
@@ -11,11 +11,30 @@ def converts(*args):
class
InlineFormAdmin
(
object
):
"""
Settings for inline form administration.
You can use this class to customize displayed form.
For example::
class MyUserInfoForm(InlineFormAdmin):
form_columns = ('name', 'email')
"""
def
__init__
(
self
,
model
,
**
kwargs
):
"""
Constructor
:param model:
Target model class
:param kwargs:
Additional options
"""
self
.
model
=
model
defaults
=
dict
(
include
=
None
,
exclude
=
None
)
defaults
=
dict
(
form_columns
=
None
,
excluded_form_columns
=
None
,
form_args
=
None
)
defaults
.
update
(
kwargs
)
for
k
,
v
in
defaults
.
iteritems
():
...
...
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