Jonathan Liuti
2bf6ee47f3
Introduce ValidationErrorMessage
...
`ValidationErrorMessage` is a string-like object that holds a code
attribute.
The code attribute has been removed from ValidationError to be able
to maintain better backward compatibility.
`ValidationErrorMessage` is abstracted in `ValidationError`'s
constructor
2016-08-28 11:45:03 +02:00
Jonathan Liuti
df0d814665
Introduce error code for validation errors.
...
This patch is meant to fix #3111 , regarding comments made to #3137
and #3169 .
The `ValidationError` will now contain a `code` attribute.
Before this patch, `ValidationError.detail` only contained a
`dict` with values equal to a `list` of string error messages or
directly a `list` containing string error messages.
Now, the string error messages are replaced with `ValidationError`.
This means that, depending on the case, you will not only get a
string back but a all object containing both the error message and
the error code, respectively `ValidationError.detail` and
`ValidationError.code`.
It is important to note that the `code` attribute is not relevant
when the `ValidationError` represents a combination of errors and
hence is `None` in such cases.
The main benefit of this change is that the error message and
error code are now accessible the custom exception handler and can
be used to format the error response.
An custom exception handler example is available in the
`TestValidationErrorWithCode` test.
We keep `Serializer.errors`'s return type unchanged in
order to maintain backward compatibility.
The error codes will only be propagated to the `exception_handler`
or accessible through the `Serializer._errors` private attribute.
2016-08-28 11:45:03 +02:00
Tom Christie
b683cd7afc
Update sponsor info [ci skip]
2016-08-25 22:29:38 +01:00
Tom Christie
f7b4511715
Update sponsor info [ci skip]
2016-08-25 22:27:51 +01:00
Tom Christie
f064ec6ac6
Version 3.4.6 ( #4436 )
2016-08-23 16:59:47 +01:00
Tom Christie
97806f9724
Add missing comma
2016-08-23 09:46:03 +01:00
José Padilla
d0ed482d70
Skip HiddenField from Schema fields ( #4429 )
2016-08-22 16:53:53 +01:00
orf
d540f0262b
Improve Create to show the original exception traceback ( #3508 )
2016-08-19 14:42:13 +01:00
Tom Christie
a335309b33
Add __str__ method to PKOnlyObject ( #4423 )
2016-08-19 14:37:27 +01:00
Tom Christie
63342e81db
Version 3.4.5 ( #4421 )
2016-08-19 12:45:20 +01:00
Robert Jensen
59ca61abcd
Add django-rest-framework-roles to third party packages in permissions docs ( #4417 )
2016-08-19 11:44:31 +01:00
Tom Christie
382ea770b5
Improve debug error handling ( #4416 )
2016-08-18 14:42:15 +01:00
Tom Christie
b76984d222
Allow custom CSRF_HEADER_NAME setting. ( #4415 )
2016-08-18 11:24:03 +01:00
nevun
966330a85a
Replace utf8 character ' with its ascii counterpart, makes bdist_rpm.py happy on centos7 ( #4412 )
2016-08-17 19:42:40 +01:00
Tom Christie
e3f8d06baf
Include .action attribute on viewsets when generating schemas ( #4408 )
2016-08-15 17:10:55 +01:00
Tom Christie
101fd29039
Do not include uploads in request.POST ( #4407 )
2016-08-15 16:53:17 +01:00
Tom Christie
785b206b81
Tweak doctsring. Closes #4404 [ci skip]
2016-08-15 16:21:51 +01:00
James Beith
075a0bde5a
Fix template syntax error for as_list_of_strings
( #4403 )
2016-08-15 09:28:46 +01:00
José Padilla
b508bc8da6
Merge pull request #4396 from wimglenn/docs_bugfix
...
fix a b0rked code example in the permissions section of api guide
2016-08-12 21:22:35 -04:00
Wim Glenn
0a48d21e09
fix a b0rked code example in the permissions section of api guide
2016-08-12 14:33:35 -05:00
Tom Christie
964f82528c
Tweak formatting in release notes [ci skip]
2016-08-12 12:13:56 +01:00
Tom Christie
a7525d838a
Version 3.4.4 ( #4395 )
2016-08-12 12:08:25 +01:00
Tom Christie
ae720d9bde
Fix issue with generating categories for schema endpoints ( #4394 )
2016-08-12 10:58:47 +01:00
Neil Parsons
7466b61e62
Don't strip empty query params when paginating ( #4260 )
2016-08-12 10:50:16 +01:00
Leonid Shvechikov
1d26b398ad
Fix comment for SerializerMethodField.bind method ( #4389 )
...
It seems that the example was copy&pasted and not updated properly.
2016-08-11 22:15:21 +01:00
Tom Christie
ebf43346a1
Do not re-run query for empty results with LimitOffsetPagination ( #4388 )
2016-08-11 16:54:55 +01:00
Tom Christie
1312acaf8b
Minor docs update [ci skip]
2016-08-11 16:53:34 +01:00
Tom Christie
116917dbed
Add form field descriptions to schemas ( #4387 )
2016-08-11 16:18:33 +01:00
Tom Christie
01b498ec51
Fix schema categories for custom list actions ( #4386 )
2016-08-11 14:07:40 +01:00
Tom Christie
b50d8950ee
Pass request to schema generation ( #4383 )
...
Pass request to schema generation
2016-08-11 11:27:28 +01:00
Kyle Hornberg
3698d9ea2e
Update permissions.md ( #4381 )
2016-08-10 17:23:10 +01:00
Tom Christie
f16e880167
Stricter type validation for CharField. ( #4380 )
...
Stricter type validation for CharField
2016-08-10 17:22:19 +01:00
Tom Christie
f1a2eeb818
.choices property of RelatedField should preserve non-string values. ( #4379 )
...
Update RelatedField.choices to support non-string values
2016-08-10 16:38:59 +01:00
Tom Christie
9857cd9889
Add failing test for issue #3868 ( #4378 )
2016-08-10 16:04:32 +01:00
Akhil Lawrence
fa4ce50be7
Modified exception handler to throw django error page in case of 500 error ( #4172 )
...
Show Traceback HTML in browsable API
2016-08-10 15:24:32 +01:00
Daniel Hahler
378b04eeaa
Fix handling of ALLOWED_VERSIONS and no DEFAULT_VERSION ( #4370 )
...
When only `ALLOWED_VERSIONS` but no `DEFAULT_VERSION` is specified, a
version should be enforced.
2016-08-10 15:19:56 +01:00
Tom Christie
48f3db36d6
Allow optional max_digits on DecimalField ( #4377 )
2016-08-10 14:39:26 +01:00
Tom Christie
2d43b17f9a
Limit queryset when rendering relational choices. ( #4375 )
...
Limit querysets to html_cutoff when rendering relational choices
2016-08-10 13:01:10 +01:00
Tom Christie
8105a4ac5a
Resolve form display with ChoiceField, MultipleChoiceField and non-string choices. ( #4374 )
...
* Add tests for html-form-rendering choice fields
* Resolve issues with ChoiceField, MultipleChoiceField and non-string options
* Ensure None template comparisons don't match string None
2016-08-10 12:02:33 +01:00
Tom Christie
0781182646
Fix call to .resolve_context ( #4371 )
2016-08-09 17:48:29 +01:00
Dmitry Dygalo
e1768bdc16
Fixed various typos ( #4366 )
2016-08-08 09:32:22 +01:00
Tom Christie
febaa4db00
Add import in docs. [ci skip]
2016-08-08 09:28:15 +01:00
José Padilla
e7eccac6df
Merge pull request #4363 from mcastle/patch-2
...
Fix minor typo
2016-08-05 15:37:55 -04:00
Marlon
672e5a0f96
Fix minor typo
2016-08-05 11:57:43 -07:00
Tom Christie
bb613c5ad1
Version 3.4.3 ( #4361 )
...
* Version 3.4.3
2016-08-05 13:33:25 +01:00
Tom Christie
35320b1f2d
Add bullet points to release notes [ci skip]
2016-08-05 12:41:15 +01:00
Tom Christie
f9cf22edc8
Version 3.4.2 ( #4360 )
2016-08-05 12:38:19 +01:00
Tom Christie
d5178c9246
Include kwargs passed to 'as_view' when generating schemas ( #4359 )
2016-08-05 11:19:39 +01:00
Tom Christie
11a2468379
Access request.user.is_authenticated
as property not method, under Django 1.10+ ( #4358 )
...
* For Django >=1.10 use user.is_authenticated, not user.is_authenticated()
2016-08-05 11:04:01 +01:00
Tom Christie
aff146ae83
Filter HEAD out from schemas ( #4357 )
2016-08-05 10:23:40 +01:00