Carlton Gibson
fb802c0910
Update version and notes for 3.8.2 release. ( #5923 )
2018-04-06 15:41:11 +02:00
Carlton Gibson
42eb5a4342
Fix read_only + default unique_together validation. ( #5922 )
...
* Add test for read_only + default unique_together validation.
* Fix read_only + default validation
2018-04-06 15:20:54 +02:00
gsvr
32caca4dd3
Import coreapi from rest_framework.compat, not directly. ( #5921 )
2018-04-05 15:07:49 +02:00
Carlton Gibson
bc353452f4
Bump version and release notes for 3.8.1 ( #5916 )
2018-04-04 21:10:34 +02:00
Ryan P Kilby
cba426b34c
Use old url_name behavior in route decorators ( #5915 )
...
* Wrap action decorator for old url_name behavior
2018-04-04 20:50:42 +02:00
Carlton Gibson
fc588f539b
Version 3.8 Release ( #5769 )
2018-04-03 15:35:26 +02:00
Carlton Gibson
1befab795a
Added generic 500 and 400 JSON error handlers. ( #5904 )
...
* Added generic 500 and 400 JSON error handlers.
* Docs for generic error views.
2018-04-03 09:16:36 +02:00
Andrew Tallos
36119cad31
Enable OrderingFilter to handle an empty tuple (or list) for the 'ordering' field. ( #5899 )
2018-03-26 12:22:45 +01:00
Craig de Stigter
a5072778e9
Don't show hidden fields in metadata ( #5854 )
...
HiddenField is meant to be hidden, but we discovered it showing up in OPTIONS requests
2018-03-23 22:47:10 +00:00
Charlie McBride
a7e2a7bfcd
Add LimitOffsetPagination.get_count to allow method override ( #5846 )
...
* Add LimitOffsetPagination.get_count to allow method override
* Format method docstring
2018-03-23 22:25:43 +00:00
George-Cristian Bîrzan
85c588b0c1
#5848 Allow traversing nullable related fields ( #5849 )
2018-03-20 22:02:22 +01:00
Carlton Gibson
6c0c69ed65
Correct allow_null behaviour when required=False ( #5888 )
...
* Revert "Non-required fields with 'allow_null=True' should not imply a default value (#5639 )"
This reverts commit 905a5579df
.
Closes #5708
* Add test for allow_null + required=False
Ref #5708 : allow_null should imply default=None, even for non-required fields.
* Re-order allow_null and default in field docs
default is prior to allow_null. allow_null implies an outgoing default=None.
* Adjust allow_null note.
2018-03-20 21:24:39 +01:00
Carlton Gibson
c2b24f83a3
Alter read_only+default behaviour ( #5886 )
...
* Always exclude read_only fields from _writable_fields
* Remove `read_only` from `CreateOnlyDefault` example.
In this context (without mentioning `save`) now slightly misleading.
2018-03-20 21:09:31 +01:00
gthieleb
9e08a7cbec
Fixed schema for UUIDField in SimpleMetadata. ( #5872 )
...
* fix schema for UUIDField
* Add unit test for d4c8f2db
2018-03-13 15:49:15 +01:00
Oliver Newman
d2994e0596
Fix comment typo in ModelSerializer ( #5844 )
2018-02-21 16:39:53 +01:00
Carlton Gibson
e34fd995cd
Made TemplateHTMLRenderer render IntegerField inputs when value is 0
. ( #5834 )
...
* Fix 0 value IntegerField in TemplateHTMLRenderer
Signed-off-by: Nikhil Sheoran <nikhilsheoran96@gmail.com>
* Remove unnecessary `field.value != “”` check
* Adjust test case
Uses `vertical` templates only.
2018-02-16 16:48:20 +01:00
Carlton Gibson
da535d31dd
Fixed active timezone handling for non ISO8601 datetimes. ( #5833 )
...
* Add failing test for to_representation with explicit default timezone
See discussion here:
https://github.com/encode/django-rest-framework/pull/5435#issuecomment-364054509
* Always run enforce_timezone
2018-02-16 16:47:49 +01:00
Daniel Hahler
2854679f56
Upgrade isort ( #5817 )
...
* Fix isort
* runtests: add --diff to ISORT_ARGS
* requirements-codestyle: bump isort to 4.3.3
* isort: move config to setup.cfg
2018-02-14 20:12:14 +00:00
Kent Kawashima
d82b332a09
Changes ternary conditionals to be PEP308 compliant ( #5827 )
2018-02-14 14:06:09 +00:00
Carlton Gibson
7d0d22ffaa
Use single copy of static assets. Update jQuery ( #5823 )
...
* Move font-awesome to top level.
* Use top-level jQuery & Bootstrap
* Update to jQuery v3.3.1
Compatible with Bootstrap v3.3.7
c.f. https://github.com/twbs/bootstrap/issues/16834#issuecomment-251996660
* Re-add bootstrap-theme
2018-02-12 14:14:44 +00:00
Ryan P Kilby
1bc826e6fd
Fix authtoken views imports ( #5818 )
2018-02-07 14:46:17 -05:00
Ryan P Kilby
c456b3c510
Fix request formdata handling ( #5800 )
...
* Rename 'wsgi' request test to more accurate 'http'
* Test duplicate request stream parsing
* Fix setting post/files on the underlying request
2018-02-05 16:24:13 +01:00
Paulo Scardine
0d5a3a00b0
Add schema to ObtainAuthToken
...
Add encoding parameter to ManualSchema
Closes #5676
* Fixed lint errors
* Added docs for ManualSchema encoding parameter
2018-02-05 16:16:42 +01:00
Jeremy Lainé
a8d129b7da
Represent serializer DictField as an Object in schema
...
DictFields were incorrectly being output as String in the schema.
This pull request outputs an Object instead and adds a unit test.
Update s/detail_route/action/ after rebase
2018-02-01 16:23:24 +01:00
Jeremy Lainé
27f32faee4
Fix schema generation for PrimaryKeyRelatedField ( #5764 )
...
By default all subclasses of RelatedField are output as string fields in
the schema, which works well for StringRelatedField, SlugRelatedField or
HyperlinkedRelatedField.
Handle the common case of a PrimaryKeyRelatedField pointing to an
AutoField.
2018-02-01 16:14:35 +01:00
Si Feng
df77f7bb9d
Make 404 & 403 responses consistent with exceptions.APIException
output ( #5763 )
2018-01-30 22:10:02 +00:00
Daniel Hahler
769bc1336f
ErrorDetail: add __eq__/__ne__ and __repr__ ( #5787 )
...
This adds `__eq__` to handle `code` in comparisons.
When comparing an ErrorDetail to a string (missing `code` there) the
ErrorDetail's `code` is ignored, but otherwise it is taken into account.
2018-01-30 08:45:09 +01:00
Jon Dufresne
052a20cd7b
Load 'static' instead of 'staticfiles' in templates ( #5773 )
2018-01-26 00:43:55 -05:00
Ryan P Kilby
73203e6b59
Rework dynamic list/detail actions ( #5705 )
...
* Merge list/detail route decorators into 'action'
* Merge dynamic routes, add 'detail' attribute
* Add 'ViewSet.get_extra_actions()'
* Refactor dynamic route checking & collection
* Refactor dynamic route generation
* Add 'ViewSet.detail' initkwarg
* Fixup schema test
* Add release notes for dynamic action changes
* Replace list/detail route decorators in tests
* Convert tabs to spaces in router docs
* Update docs
* Make 'detail' a required argument of 'action'
* Improve router docs
2018-01-25 09:40:49 +01:00
Carlton Gibson
a540acdc95
Allowed customising API documentation code samples ( #5752 )
...
* Allowed additional languages in API documentation
* Documented renderer_classes parameter and customising languages.
2018-01-25 09:39:03 +01:00
Jeremy Lainé
588b61e171
Remove unreachable code from ManualSchema ( #5766 )
...
ManualSchema.get_link had two return statements. Prune the second
(unreachable) return.
2018-01-24 08:52:33 +01:00
Ryan P Kilby
2709de1310
Add HStoreField, postgres fields tests ( #5654 )
...
* Test postgres field mapping
* Add HStoreField
* Ensure 'HStoreField' child is a 'CharField'
* Add HStoreField docs
2018-01-15 15:52:30 +01:00
Jon Dufresne
d3f3c3d9c1
Prefer https protocol for links in docs when available
2018-01-15 15:15:21 +01:00
Jon Dufresne
ffe3dbb1b1
Perfer iter(dict) over iter(dict.keys()) ( #5736 )
...
Calling dict.keys() is unnecessary. The two are functionally equivalent
on modern Pythons.
Inspired by Lennart Regebro's talk "Prehistoric Patterns in Python" from
PyCon 2017.
https://www.youtube.com/watch?v=V5-JH23Vk0I
2018-01-08 09:49:46 +00:00
Jon Dufresne
c1848d765d
Drop compat workaround for unsupported Python 3.2 ( #5734 )
2018-01-08 10:45:29 +01:00
Jon Dufresne
06e2ad0b7d
Remove unused compat._resolve_model() ( #5733 )
...
Last use removed in c674687782
.
2018-01-08 09:19:08 +00:00
Ryan P Kilby
b65967711c
Formalize URLPatternsTestCase ( #5703 )
...
* Add formalized URLPatternsTestCase
* Update versioning tests w/ new URLPatternsTestCase
* Cleanup router tests urlpatterns
* Add docs for URLPatternsTestCase
2018-01-02 11:14:25 +01:00
David De Sousa
6b0bf72bb8
using rsplit to get module and classname for imports ( #5712 )
2018-01-02 10:59:08 +01:00
Ryan P Kilby
b7ed645927
Disable HTML inputs for dict/list fields ( #5702 )
2018-01-02 10:50:49 +01:00
Ryan P Kilby
6bd773e7f8
Improve composite field child errors ( #5655 )
...
* Fixup DictField test descriptions
* Nest ListField/DictField errors under the idx/key
* Add nested ListField/DictField tests
2018-01-02 10:45:59 +01:00
Xavier Ordoquy
955a6b902b
Add 3.7.7 release notes
2017-12-21 12:45:54 +01:00
Tom Christie
65791d8c79
Version 3.7.5. Add missing .ico to packaging.
2017-12-21 10:17:59 +00:00
Tom Christie
3a22b1d1f0
Version 3.7.5
2017-12-21 10:03:41 +00:00
Carlton Gibson
a81e60ff39
Version 3.7.4 Release ( #5650 )
...
* Update version for 3.7.4 Release
* Add release notes to 01587b9eb1
* Django 2.0 is now final.
* Add trove classifer for Django 2.0
* Finalise release notes for v3.7.4
* Set release date: December 20, 2017
* Update Transifex
* Add release note for #5691
* Move Issue links to bottom
2017-12-20 15:28:31 +01:00
Cristi Vîjdea
6de12e574e
Fix format_suffix_patterns behavior with Django 2 path() routes ( #5691 )
...
* Add failing test for #5672
* Add get_original_route to complement get_regex_pattern
* [WIP] Fix path handling
* needs more tests
* maybe needs some refactoring
* Add django 2 variant for all tests and fix trailing slash bug
* Add more combinations to mixed path test
2017-12-20 13:17:54 +01:00
Tilmann Becker
d38b94fd74
Fix URL pattern parsing in schema generation ( #5689 )
...
* Fix url parsing in schema generation
- Call `str(pattern)` to get non-escaped route
- Strip converters from path to comply with uritemplate format.
Background: https://github.com/encode/django-rest-framework/issues/5675#issuecomment-352829363
Fixes #5675
2017-12-20 09:10:28 +01:00
Pavlin Gergov
21a9740156
Fix typo in docstring ( #5678 )
2017-12-19 08:45:33 +01:00
Carlton Gibson
791539acec
Add DEFAULT_SCHEMA_CLASS setting ( #5658 )
...
* Add test for new setting
* Add DefaultSchema utility
* Add new setting to docs
2017-12-14 11:24:21 +01:00
Carlton Gibson
4a200d5e66
Fix override_settings
compat ( #5668 )
...
* Add test checking override_settings compat
* Refresh APISettings, rather than replace
Fix suggested by @daggaz https://github.com/encode/django-rest-framework/issues/2466#issuecomment-344297213
2017-12-14 10:33:48 +01:00
Ryan P Kilby
7855d3bd8b
Add '.basename' and '.reverse_action()' to ViewSet ( #5648 )
...
* Router sets 'basename' on ViewSet
* Add 'ViewSet.reverse_action()' method
* Test router setting initkwargs
2017-12-04 11:55:49 +01:00