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.
Uses `DATE_INPUT_FORMATS` to validate date.
Optionally takes `format` as parameter to replace the matching pattern.
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
A date and time representation.
Uses `DATETIME_INPUT_FORMATS` to validate date_time.
Optionally takes `format` as parameter to replace the matching pattern.
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:
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
A time representation.
Uses `TIME_INPUT_FORMATS` to validate time.
Optionally takes `format` as parameter to replace the matching pattern.
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
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'`
## 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/

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.
* Bugfix for serializer data being uncacheable with pickle protocol 0.
* Bugfixes for model field validation edge-cases.
* Support `DATE_INPUT_FORMATS` for `DateField` validation
* Support `DATETIME_INPUT_FORMATS` for `DateTimeField` validation
* Support `TIME_INPUT_FORMATS` for `TimeField` validation
* Support for custom input and output formats for `DateField`, `DateTimeField` and `TimeField`
### 2.2.1

View File

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