Add docs update - part 1

This commit is contained in:
Stephan Groß 2013-03-01 15:03:27 +01:00
parent f208d8d2bb
commit a9d36d4726
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

@ -45,9 +45,7 @@ You can determine your currently installed version using `pip freeze`:
* Request authentication is no longer lazily evaluated, instead authentication is always run, which results in more consistent, obvious behavior. Eg. Supplying bad auth credentials will now always return an error response, even if no permissions are set on the view. * Request authentication is no longer lazily evaluated, instead authentication is always run, which results in more consistent, obvious behavior. Eg. Supplying bad auth credentials will now always return an error response, even if no permissions are set on the view.
* 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):