Commit a9d36d47 by Stephan Groß

Add docs update - part 1

parent f208d8d2
......@@ -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.
......
......@@ -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/
......@@ -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
......
......@@ -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):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment