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 |