-
Notifications
You must be signed in to change notification settings - Fork 254
/
Copy pathdict_demo.py
34 lines (23 loc) · 988 Bytes
/
dict_demo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"""Dict fields demo model."""
from example_app.models import db
def get_default_dict():
"""Example of default dict specification."""
return {"alpha": 1, "text": "text", "float": 1.2}
class DictDemoModel(db.Document):
"""Documentation example model."""
string = db.StringField(verbose_name="str")
dict_field = db.DictField()
no_dict_field = db.DictField(default=None)
null_dict_field = db.DictField(default=None, null=True)
dict_default = db.DictField(default=get_default_dict)
null_dict_default = db.DictField(default=get_default_dict, null=True)
no_dict_prefilled = db.DictField(
default=None,
null=False,
wtf_options={"default": get_default_dict, "null": True},
)
DictDemoForm = DictDemoModel.to_wtf_form()
def dict_demo_view(pk=None):
"""Return all fields demonstration."""
from example_app.views import demo_view
return demo_view(model=DictDemoModel, view_name=dict_demo_view.__name__, pk=pk)