From bfecc7af8852e7c6713c7350093f186ba4cb638c Mon Sep 17 00:00:00 2001 From: John Carter Date: Sun, 27 Mar 2016 16:08:45 +1300 Subject: [PATCH] Expanded documentation of CONSTANCE_ADDITIONAL_FIELDS --- docs/index.rst | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 8c1d6f1..0c1346e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -65,17 +65,39 @@ Use this option in order to skip hash verification. Custom fields ------------- -You can set the field type by the third value in the `CONSTANCE_CONFIG` -tuple. The value can be string or one of the supported types: +You can set the field type with the third value in the `CONSTANCE_CONFIG` tuple. + +The value can one of the supported types or a string matching a key in your :setting:`CONSTANCE_ADDITIONAL_FIELDS` + +The supported types are: + +* `bool` +* `int` +* `float` +* `Decimal` +* `long` (on python 2) +* `str` +* `unicode` (on python 2) +* `datetime` +* `date` +* `time` + +For example, to force a value to be handled as a string: .. code-block:: python 'THE_ANSWER': (42, 'Answer to the Ultimate Question of Life, ' 'The Universe, and Everything', str), -If you can add your custom field types, you can use the -`CONSTANCE_ADDITIONAL_FIELDS` variable. Note that you must -use later evaluated strings instead of direct classes: +Custom field types are supported using the dictionary :setting:`CONSTANCE_ADDITIONAL_FIELDS`. + +This is a mapping between a field label and a sequence (list or tuple). The first item in the sequence is the string +class path of a field class, and the (optional) second item is a dictionary used to configure the field. + +The `widget` and `widget_kwargs` keys in the field config dictionary can be used to configure the widget used in admin, + the other values will be passed as kwargs to the field's `__init__()` + +Note: Use later evaluated strings instead of direct classes for the field and widget classes: .. code-block:: python