Fields¶
The standard schema fields
The following tables shows the most common field types for use in Dexterity schemata. See the documentation on creating schemata for information about how to use these.
Field properties¶
Fields are initialised with properties passed in their constructors. To avoid having to repeat the available properties for each field, we’ll list them once here, grouped into the interfaces that describe them. You’ll see those interfaces again in the tables below that describe the various field types. Refer to the table below to see what properties a particular interface implies.
Interface | Property | Type | Description |
---|---|---|---|
IField | title | unicode | The title of the field. Used in the widget. |
description | unicode | A description for the field. Used in the widget. | |
required | bool |
Whether or not the field is required. Used for form
validation. The default is
True .
|
|
readonly | bool |
Whether or not the field is read-only. Default is
False .
|
|
default |
The default value for the field. Used in forms and
sometimes as a fallback value. Must be a valid value
for the field if set. The default is
None .
|
||
missing_value |
A value that represents "this field is not
set". Used by form validation. Defaults to
None . For lists and tuples, it is sometimes useful to
set this to an empty list/tuple.
|
||
IMinMaxLen | min_length | int |
The minimum required length or minimum number of
elements. Used for string, sequence, mapping or set
fields. Default is
0 .
|
max_length | int |
The maximum allowed length or maximum number of
elements. Used for string, sequence, mapping or set
fields. Default is
None
(no check).
|
|
IMinMax | min |
The minimum allowed value. Must be a valid value for
the field, e.g. for an
Int
field this should be an integer. Default is
None
(no check).
|
|
max |
The maximum allowed value. Must be a valid value for
the field, e.g. for an Int field this should be an
integer. Default is
None
(no check).
|
||
ICollection | value_type |
Another
Field
instance that describes the allowable values in a
list, tuple or other collection. Must be set for any
collection field. One common usage is to set this to
a
Choice , to model a multi-selection field with a
vocabulary.
|
|
unique | bool |
Whether or not values in the collection must be
unique. Usually not set directly – use a
Set
or
Frozenset
to guarantee uniqueness in an efficient way.
|
|
IDict | key_type |
Another
Field
instance that describes the allowable keys in a
dictionary. Similar to the
value_type
of a collection. Must be set.
|
|
value_type |
Another
Field
instance that describes the allowable values in a
dictionary. Similar to the
value_type
of a collection. Must be set.
|
||
IObject | schema | Interface | An interface that must be provided by any object stored in this field. |
IRichText | default_mime_type | str |
Default MIME type for the input text of a rich text
field. Defaults to
text/html .
|
output_mime_type | str |
Default output MIME type for the transformed value
of a rich text field. Defaults to
text/x-html-safe . There must be a transformation chain in the
portal_transforms
tool that can transform from the input value to the
output
value for the output property of the
RichValue
object to contain a value.
|
|
allowed_mime_types | tuple |
A list of allowed input MIME types. The default is
None , in which case the site-wide settings (from the
Markup
control panel) will be used.
|
Field types¶
The following tables describe the most commonly used field types, grouped by the module from which they can be imported.
Fields in zope.schema¶
Name | Type | Description | Properties |
---|---|---|---|
Choice | N/A |
Used to model selection from a vocabulary, which
must be supplied. Often used as the
value_type
of a selection field. The value type is the value
of the terms in the vocabulary.
|
See vocabularies. |
Bytes | str | Used for binary data. | IField, IMinMaxLen |
ASCII | str | ASCII text (multi-line). | IField, IMinMaxLen |
BytesLine | str |
A single line of binary data, i.e. a
Bytes
with newlines disallowed.
|
IField, IMinMaxLen |
ASCIILine | str | A single line of ASCII text. | IField, IMinMaxLen |
Text | unicode | Unicode text (multi-line). Often used with a WYSIWYG widget, although the default is a text area. | IField, IMinMaxLen |
TextLine | unicode | A single line of Unicode text. | IField, IMinMaxLen |
Bool | bool |
True
or
False .
|
IField |
Int | int, long | An integer number. Both ints and longs are allowed. | IField, IMinMax |
Float | float | A floating point number. | IField, IMinMax |
Tuple | tuple | A tuple (non-mutable). | IField, ICollection, IMinMaxLen |
List | list | A list. | IField, ICollection, IMinMaxLen |
Set | set | A set. | IField, ICollection, IMinMaxLen |
Frozenset | frozenset | A frozenset (non-mutable). | IField, ICollection, IMinMaxLen |
Password | unicode | Stores a simple string, but implies a password widget. | IField, IMinMaxLen |
Dict | dict |
Stores a dictionary. Both
key_type
and
value_type
must be set to fields.
|
IField, IMinMaxLen, IDict |
Datetime | datetime |
Stores a Python
datetime
(not a Zope 2
DateTime ).
|
IField, IMinMax |
Date | date |
Stores a python
date .
|
IField, IMinMax |
Timedelta | timedelta |
Stores a python
timedelta .
|
IField, IMinMax |
SourceText | unicode | A textfield intended to store source text (e.g. HTML or Python code). | IField, IMinMaxLen |
Object | N/A |
Stores a Python object that conforms to the
interface given as the
schema . There is no standard widget for this.
|
IField, IObject |
URI | str | A URI (URL) string. | IField, MinMaxLen |
Id | str | A unique identifier – either a URI or a dotted name. | IField, IMinMaxLen |
DottedName | str | A dotted name string. | IField, IMinMaxLen |
InterfaceField | Interface | A Zope interface. | IField |
Decimal | Decimal |
Stores a Python
Decimal . Requires version 3.4 or later of
zope.schema. Not available by default in Zope 2.10.
|
IField, IMinMax |
Fields in
plone.namedfile.field
¶
See plone.namedfile and plone.formwidget.namedfile for more details.
Name | Type | Description | Properties |
---|---|---|---|
NamedFile | NamedFile | A binary uploaded file. Normally used with the widget from plone.formwidget.namedfile. | IField |
NamedImage | NamedImage | A binary uploaded image. Normally used with the widget from plone.formwidget.namedfile. | IField |
NamedBlobFile | NamedBlobFile |
A binary uploaded file stored as a ZODB BLOB.
Requires the
[blobs]
extra to
plone.namedfile. Otherwise identical to
NamedFile .
|
IField |
NamedBlobImage | NamedBlobImage |
A binary uploaded image stored as a ZODB BLOB.
Requires the
[blobs]
extra to
plone.namedfile. Otherwise identical to
NamedImage .
|
IField |
Fields in
z3c.relationfield.schema
¶
See z3c.relationfield for more details.
Name | Type | Description | Properties |
---|---|---|---|
Relation | RelationValue |
Stores a single
RelationValue .
|
IField |
RelationList | list |
A
List
field that defaults to
Relation
as the value type
|
See
List
|
RelationChoice | RelationValue |
A
Choice
field intended to store
RelationValue ’s
|
See
Choice
|
Fields in plone.app.textfield¶
See plone.app.textfield for more details.
Name | Type | Description | Properties |
---|---|---|---|
RichText | RichTextValue |
Stores a
RichTextValue , which encapsulates a raw text value, the source
MIME type, and a cached copy of the raw text
transformed to the default output MIME type.
|
IField, IRichText |