Add docs update - part 1

This commit is contained in:
Stephan Groß 2013-03-01 15:03:27 +01:00
parent 876a58e8bf
commit 7e702439eb
4 changed files with 63 additions and 18 deletions

View File

@ -185,18 +185,20 @@ Corresponds to `django.forms.fields.RegexField`
A date representation. A date representation.
Uses `DATE_INPUT_FORMATS` to validate date.
Optionally takes `format` as parameter to replace the matching pattern. Optionally takes `format` as parameter to replace the matching pattern.
Corresponds to `django.db.models.fields.DateField` Corresponds to `django.db.models.fields.DateField`
**Signature:** `DateField(input_formats=None, output_format=False)`
- `input_formats` designates which input formats are supported. This will override the `DATE_INPUT_FORMATS`
- `output_format` designates which output format will be used. This will override the `DATE_OUTPUT_FORMAT`
## DateTimeField ## DateTimeField
A date and time representation. A date and time representation.
Uses `DATETIME_INPUT_FORMATS` to validate date_time.
Optionally takes `format` as parameter to replace the matching pattern. Optionally takes `format` as parameter to replace the matching pattern.
Corresponds to `django.db.models.fields.DateTimeField` Corresponds to `django.db.models.fields.DateTimeField`
@ -211,16 +213,26 @@ If you want to override this behavior, you'll need to declare the `DateTimeField
class Meta: class Meta:
model = Comment model = Comment
**Signature:** `DateTimeField(input_formats=None, output_format=False)`
- `input_formats` designates which input formats are supported. This will override the `DATETIME_INPUT_FORMATS`
- `output_format` designates which output format will be used. This will override the `DATETIME_OUTPUT_FORMAT`
## TimeField ## TimeField
A time representation. A time representation.
Uses `TIME_INPUT_FORMATS` to validate time.
Optionally takes `format` as parameter to replace the matching pattern. Optionally takes `format` as parameter to replace the matching pattern.
Corresponds to `django.db.models.fields.TimeField` Corresponds to `django.db.models.fields.TimeField`
**Signature:** `TimeField(input_formats=None, output_format=False)`
- `input_formats` designates which input formats are supported. This will override the `TIME_INPUT_FORMATS`
- `output_format` designates which output format will be used. This will override the `TIME_OUTPUT_FORMAT`
## IntegerField ## IntegerField
An integer representation. An integer representation.

View File

@ -174,4 +174,39 @@ The name of a parameter in the URL conf that may be used to provide a format suf
Default: `'format'` Default: `'format'`
## DATE_INPUT_FORMATS
Default:
(
'%Y-%m-%d', # '1984-07-31'
)
## DATE_OUTPUT_FORMAT
## DATETIME_INPUT_FORMATS
Default:
(
'%Y-%m-%d', # '1984-07-31'
'%Y-%m-%d %H:%M', # '1984-07-31 04:31'
'%Y-%m-%d %H:%M:%S', # '1984-07-31 04:31:59'
'%Y-%m-%d %H:%M:%S.%f', # '1984-07-31 04:31:59.000200'
)
## DATETIME_OUTPUT_FORMAT
## TIME_INPUT_FORMATS
Default:
(
'%H:%M', # '04:31'
'%H:%M:%S', # '04:31:59'
'%H:%M:%S.%f', # '04:31:59.000200'
)
## TIME_OUTPUT_FORMAT
[cite]: http://www.python.org/dev/peps/pep-0020/ [cite]: http://www.python.org/dev/peps/pep-0020/

View File

@ -44,9 +44,7 @@ You can determine your currently installed version using `pip freeze`:
* Bugfix for serializer data being uncacheable with pickle protocol 0. * Bugfix for serializer data being uncacheable with pickle protocol 0.
* Bugfixes for model field validation edge-cases. * Bugfixes for model field validation edge-cases.
* Support `DATE_INPUT_FORMATS` for `DateField` validation * Support for custom input and output formats for `DateField`, `DateTimeField` and `TimeField`
* Support `DATETIME_INPUT_FORMATS` for `DateTimeField` validation
* Support `TIME_INPUT_FORMATS` for `TimeField` validation
### 2.2.1 ### 2.2.1

View File

@ -452,9 +452,9 @@ class DateField(WritableField):
} }
empty = None empty = None
def __init__(self, *args, **kwargs): def __init__(self, input_formats=None, output_format=None, *args, **kwargs):
self.input_formats = kwargs.pop('input_formats', api_settings.DATE_INPUT_FORMATS) self.input_formats = input_formats or api_settings.DATE_INPUT_FORMATS
self.output_format = kwargs.pop('output_format', api_settings.DATE_OUTPUT_FORMAT) self.output_format = output_format or api_settings.DATE_OUTPUT_FORMAT
super(DateField, self).__init__(*args, **kwargs) super(DateField, self).__init__(*args, **kwargs)
def from_native(self, value): def from_native(self, value):
@ -499,9 +499,9 @@ class DateTimeField(WritableField):
} }
empty = None empty = None
def __init__(self, *args, **kwargs): def __init__(self, input_formats=None, output_format=None, *args, **kwargs):
self.input_formats = kwargs.pop('input_formats', api_settings.DATETIME_INPUT_FORMATS) self.input_formats = input_formats or api_settings.DATETIME_INPUT_FORMATS
self.output_format = kwargs.pop('output_format', api_settings.DATETIME_OUTPUT_FORMAT) self.output_format = output_format or api_settings.DATETIME_OUTPUT_FORMAT
super(DateTimeField, self).__init__(*args, **kwargs) super(DateTimeField, self).__init__(*args, **kwargs)
def from_native(self, value): def from_native(self, value):
@ -552,9 +552,9 @@ class TimeField(WritableField):
} }
empty = None empty = None
def __init__(self, *args, **kwargs): def __init__(self, input_formats=None, output_format=None, *args, **kwargs):
self.input_formats = kwargs.pop('input_formats', api_settings.TIME_INPUT_FORMATS) self.input_formats = input_formats or api_settings.TIME_INPUT_FORMATS
self.output_format = kwargs.pop('output_format', api_settings.TIME_OUTPUT_FORMAT) self.output_format = output_format or api_settings.TIME_OUTPUT_FORMAT
super(TimeField, self).__init__(*args, **kwargs) super(TimeField, self).__init__(*args, **kwargs)
def from_native(self, value): def from_native(self, value):