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
f068f31e
Commit
f068f31e
authored
Aug 25, 2012
by
Serge S. Koval
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cleaned up code a bit
parent
9cec4976
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
32 deletions
+26
-32
form.py
flask_admin/contrib/sqlamodel/form.py
+24
-27
view.py
flask_admin/contrib/sqlamodel/view.py
+2
-5
No files found.
flask_admin/contrib/sqlamodel/form.py
View file @
f068f31e
...
@@ -218,30 +218,27 @@ class AdminModelConverter(ModelConverterBase):
...
@@ -218,30 +218,27 @@ class AdminModelConverter(ModelConverterBase):
field_args
[
'validators'
]
.
append
(
validators
.
UUID
())
field_args
[
'validators'
]
.
append
(
validators
.
UUID
())
return
fields
.
TextField
(
**
field_args
)
return
fields
.
TextField
(
**
field_args
)
# Get list of fields and generate form
def
model_fields
(
model
,
converter
,
only
=
None
,
exclude
=
None
,
field_args
=
None
):
def
get_form
(
self
,
model
,
base_class
=
form
.
BaseForm
,
"""
only
=
None
,
exclude
=
None
,
Generate a dictionary of fields for a given SQLAlchemy model.
field_args
=
None
):
# TODO: Support new 0.8 API
See `model_form` docstring for description of parameters.
if
not
hasattr
(
model
,
'_sa_class_manager'
):
"""
raise
TypeError
(
'model must be a sqlalchemy mapped model'
)
# TODO: Support new 0.8 API
if
not
hasattr
(
model
,
'_sa_class_manager'
):
mapper
=
model
.
_sa_class_manager
.
mapper
raise
TypeError
(
'model must be a sqlalchemy mapped model'
)
field_args
=
field_args
or
{}
mapper
=
model
.
_sa_class_manager
.
mapper
properties
=
((
p
.
key
,
p
)
for
p
in
mapper
.
iterate_properties
)
field_args
=
field_args
or
{}
if
only
:
properties
=
(
x
for
x
in
properties
if
x
[
0
]
in
only
)
properties
=
((
p
.
key
,
p
)
for
p
in
mapper
.
iterate_properties
)
elif
exclude
:
if
only
:
properties
=
(
x
for
x
in
properties
if
x
[
0
]
not
in
exclude
)
properties
=
(
x
for
x
in
properties
if
x
[
0
]
in
only
)
elif
exclude
:
field_dict
=
{}
properties
=
(
x
for
x
in
properties
if
x
[
0
]
not
in
exclude
)
for
name
,
prop
in
properties
:
field
=
self
.
convert
(
model
,
mapper
,
prop
,
field_args
.
get
(
name
))
field_dict
=
{}
if
field
is
not
None
:
for
name
,
prop
in
properties
:
field_dict
[
name
]
=
field
field
=
converter
.
convert
(
model
,
mapper
,
prop
,
field_args
.
get
(
name
))
if
field
is
not
None
:
return
type
(
model
.
__name__
+
'Form'
,
(
base_class
,
),
field_dict
)
field_dict
[
name
]
=
field
return
field_dict
flask_admin/contrib/sqlamodel/view.py
View file @
f068f31e
...
@@ -7,7 +7,6 @@ from flask import flash
...
@@ -7,7 +7,6 @@ from flask import flash
from
flask.ext.admin.babel
import
gettext
,
ngettext
,
lazy_gettext
from
flask.ext.admin.babel
import
gettext
,
ngettext
,
lazy_gettext
from
flask.ext.admin.model
import
BaseModelView
from
flask.ext.admin.model
import
BaseModelView
from
flask.ext.admin.model.form
import
model_form
from
flask.ext.admin.actions
import
action
from
flask.ext.admin.actions
import
action
from
flask.ext.admin.contrib.sqlamodel
import
form
,
filters
,
tools
from
flask.ext.admin.contrib.sqlamodel
import
form
,
filters
,
tools
...
@@ -371,13 +370,11 @@ class ModelView(BaseModelView):
...
@@ -371,13 +370,11 @@ class ModelView(BaseModelView):
"""
"""
Create form from the model.
Create form from the model.
"""
"""
form_fields
=
form
.
model_fields
(
converter
=
form
.
AdminModelConverter
(
self
)
self
.
model
,
return
converter
.
get_form
(
self
.
model
,
form
.
AdminModelConverter
(
self
),
only
=
self
.
form_columns
,
only
=
self
.
form_columns
,
exclude
=
self
.
excluded_form_columns
,
exclude
=
self
.
excluded_form_columns
,
field_args
=
self
.
form_args
)
field_args
=
self
.
form_args
)
return
model_form
(
self
.
model
,
form_fields
)
def
scaffold_auto_joins
(
self
):
def
scaffold_auto_joins
(
self
):
"""
"""
...
...
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