Ryan P Kilby
d92b24a0b7
Make serializer fields import explicit ( #4628 )
2016-11-01 10:27:11 +00:00
Tom Christie
5c54b227c1
Drop redundant requests adapter ( #4639 )
2016-11-01 10:24:53 +00:00
Tom Christie
7eb6cdca00
Don't lose exception info ( #4638 )
2016-11-01 10:22:30 +00:00
Alex Kahan
895c67c9a2
Fixes #4532 ( #4636 )
2016-10-31 20:41:54 +00:00
Ryan P Kilby
eafc9a2393
Fix is_simple_callable with variable args, kwargs ( #4622 )
2016-10-25 20:47:24 +01:00
Tom Christie
3b39d2d13a
Version 3.5.1 [ci skip]
2016-10-21 17:10:38 +01:00
Tom Christie
30bf9df5d0
Fix guardian import ( #4612 )
2016-10-21 16:59:43 +01:00
Tom Christie
0fe0e1e703
Fix schema base paths ( #4611 )
2016-10-21 16:59:34 +01:00
Tom Christie
f1bdce17b5
Fix for case of ListSerializer with single item ( #4609 )
2016-10-21 15:21:23 +01:00
Lukasz Karolewski
0b346e94b1
changing order of imports ( #4601 )
...
when using with django-filter and rest_framework_swagger need to import coreapi before django-filter as django filter tries to load rest_framework.coreapi which is undefined at this point
2016-10-21 15:00:25 +01:00
Tom Christie
e3686aca93
Don't use bare 'raise'. [ci skip]
2016-10-21 14:47:26 +01:00
Tom Christie
2395fb5386
Deprecate DjangoFilter backend ( #4593 )
...
Deprecate the built-in `rest_framework.filters.DjangoFilterBackend` in favour of the third-party `django_filters.rest_framework.DjangoFilterBackend`.
2016-10-20 10:47:09 +01:00
Zach Wernberg
fcff16c5c6
minor typo
2016-10-18 23:14:55 -05:00
Tom Christie
8d0a91b002
Fix 3674 ( #4571 )
...
Handle ModelSerializer case for relationships to models with custom pk.
2016-10-13 12:43:43 +01:00
Tom Christie
88c6c380c5
Use field.source to perform check for writable nested field, not key ( #4568 )
2016-10-12 16:51:01 +01:00
Alexey Evseev
2519ce9128
Fix schema generation with custom page_size pagination param ( #4567 )
2016-10-12 16:09:45 +01:00
Tom Christie
5677d063d8
Do not treat empty non-form input as HTML. ( #4566 )
2016-10-12 15:46:24 +01:00
Tom Christie
26e51ecd6c
When HTML form input is used with JSONField, treat the input as a JSON encoded string, not a JSON primative. ( #4565 )
2016-10-12 14:04:10 +01:00
Tom Christie
b419970431
Handle empty data with serializer ( #4564 )
2016-10-12 10:47:17 +01:00
Tom Christie
11a89ebff4
Removous erronous duplicate Danish translation file ( #4563 )
2016-10-12 10:02:21 +01:00
SerenityCode
02fcf6a334
Use field name instead of source when generating docs ( #4559 )
2016-10-12 09:46:59 +01:00
Tom Christie
7f29cfc931
Lazy hyperlink names ( #4554 )
2016-10-11 12:18:00 +01:00
Tom Christie
d0b3b6470a
Fix prefetch_related updates. ( #4553 )
2016-10-11 11:07:40 +01:00
Akshay Sharma
aed4ed5e73
Browsable API navbar gets overlapped by highlighted pagination item fix ( #4547 )
2016-10-11 10:59:00 +01:00
Tom Christie
a3802504a0
Error codes ( #4550 )
...
Add error codes to `APIException`
2016-10-11 10:25:21 +01:00
Tom Christie
0dec36eb41
Version 3.5 ( #4525 )
...
* Start test case
* Added 'requests' test client
* Address typos
* Graceful fallback if requests is not installed.
* Add cookie support
* Tests for auth and CSRF
* Py3 compat
* py3 compat
* py3 compat
* Add get_requests_client
* Added SchemaGenerator.should_include_link
* add settings for html cutoff on related fields
* Router doesn't work if prefix is blank, though project urls.py handles prefix
* Fix Django 1.10 to-many deprecation
* Add django.core.urlresolvers compatibility
* Update django-filter & django-guardian
* Check for empty router prefix; adjust URL accordingly
It's easiest to fix this issue after we have made the regex. To try
to fix it before would require doing something different for List vs
Detail, which means we'd have to know which type of url we're
constructing before acting accordingly.
* Fix misc django deprecations
* Use TOC extension instead of header
* Fix deprecations for py3k
* Add py3k compatibility to is_simple_callable
* Add is_simple_callable tests
* Drop python 3.2 support (EOL, Dropped by Django)
* schema_renderers= should *set* the renderers, not append to them.
* API client (#4424 )
* Fix release notes
* Add note about 'User account is disabled.' vs 'Unable to log in'
* Clean up schema generation (#4527 )
* Handle multiple methods on custom action (#4529 )
* RequestsClient, CoreAPIClient
* exclude_from_schema
* Added 'get_schema_view()' shortcut
* Added schema descriptions
* Better descriptions for schemas
* Add type annotation to schema generation
* Coerce schema 'pk' in path to actual field name
* Deprecations move into assertion errors
* Use get_schema_view in tests
* Updte CoreJSON media type
* Handle schema structure correctly when path prefixs exist. Closes #4401
* Add PendingDeprecation to Router schema generation.
* Added SCHEMA_COERCE_PATH_PK and SCHEMA_COERCE_METHOD_NAMES
* Renamed and documented 'get_schema_fields' interface.
2016-10-10 13:03:46 +01:00
Camille Harang
e99b30d28b
Fix rest_framework.filters.OrderingFilter doesn't pass context to ser… ( #4543 )
...
* Fix rest_framework.filters.OrderingFilter doesn't pass context to serializers #4541
* #4541 Additional fix for remove_invalid_fields()
2016-10-10 11:59:02 +01:00
Rowan Seymour
883efbc19f
Case insensitive uniqueness validation ( #4534 )
2016-10-04 13:44:50 +01:00
Dmitry Dygalo
b82ec540ad
Remove code for old Django versions ( #4513 )
2016-09-23 23:03:02 +01:00
Tom Christie
7ab4a587d9
Version 3.4.7 ( #4501 )
2016-09-21 12:24:26 +01:00
Tom Christie
be74d11165
Fallback behavior for request parsing when request.POST already accessed. ( #4500 )
2016-09-21 11:49:09 +01:00
Ollie Ford
fe96ceced0
fixes response rendering with empty context ( #4495 )
...
This commit allows `response.render` to be called when
`response.rendered_context == {}`. This should be allowed, since
if [the JSONRenderer, for example](https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/renderers.py#L85-L92 ) receives a `None` context, it
sets it to an empty dictionary itself.
2016-09-17 03:13:34 +01:00
Tanner Hobson
fe4c4fa751
Fix indentation regression in API listing ( #4493 )
...
In commit 5392be4ddb
, there was a change
made when cleaning up the template for the API listing that caused 2
spaces to appear before every header item (except the first) and before
the first line of the body of the response. This meant that it often
looked like:
HTTP 200 OK
Allow: GET, OPTIONS
Content-Type: application/json
Vary: Accept
{
"key": "value",
"key2": "value2"
}
This change removes those leading spaces, so that it will now look like:
HTTP 200 OK
Allow: GET, OPTIONS
Content-Type: application/json
Vary: Accept
{
"key": "value",
"key2": "value2"
}
2016-09-17 03:09:49 +01:00
Tom Christie
4655501d51
Fix regression of RegexField
. ( #4490 )
...
* Don't deepcopy 'regex' arguments, instead treat as immutable.
2016-09-15 12:44:45 +01:00
José Padilla
6b6f319509
Add missing comma ( #4473 )
2016-09-08 14:01:26 +01:00
TakesxiSximada
5df54a711f
Set a view function's __module__ value to the WrappedAPIView object's __module__ ( #4465 )
2016-09-05 11:16:41 +01:00
Mathieu Pillard
07efbdb45e
Fix APIClient.get() when path contains unicode arguments ( #4458 )
2016-09-02 17:00:03 +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
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
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
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
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
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
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
bb613c5ad1
Version 3.4.3 ( #4361 )
...
* Version 3.4.3
2016-08-05 13:33:25 +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
Tom Christie
a9a097496e
extra_kwargs takes precedence over uniqueness kwargs ( #4349 )
2016-08-02 14:33:15 +01:00
Tom Christie
bda16a518a
Dedent tabs. ( #4347 )
2016-08-02 13:33:14 +01:00
René Fleschenberg
9f5e841daf
Change template context generation in TemplateHTMLRenderer ( #4236 )
...
- Change the name of ``resolve_context()`` to ``get_template_context()``.
- Pass the renderer context to this method, to give subclasses more flexibility
when overriding.
2016-08-02 13:11:41 +01:00
Tom Christie
e37619f741
Serializer defaults should not be included in partial updates. ( #4346 )
...
Serializer default values should not be included in partial updates
2016-08-02 13:05:12 +01:00
Tom Christie
3ef3fee926
Descriptive error from FileUploadParser when filename not included. ( #4340 )
...
* Descriptive error from FileUploadParser when filename not included.
* Consistent handling of upload filenames
2016-08-01 18:44:58 +01:00
Tom Christie
46a44e52aa
Quantize incoming digitals ( #4339 )
2016-08-01 17:15:41 +01:00
Tom Christie
aa349fe767
Handle non-string input for IP fields ( #4338 )
2016-08-01 16:14:26 +01:00
jsurloppe
e997713313
urljoin with leading slash remove part of path ( #4332 )
2016-08-01 14:14:55 +01:00
Tom Christie
449ec1d724
Version 3.4.1 [ci skip] ( #4326 )
2016-07-28 13:34:35 +01:00
Tom Christie
e407dc7f01
Added root_renderers argument ( #4323 )
2016-07-28 12:50:51 +01:00
Tom Christie
061e0ed084
Added url and schema_url arguments ( #4321 )
2016-07-28 12:08:34 +01:00
Tom Christie
6a7d34ec34
Unique together checks should apply to fields that are read only, but have a default. ( #4316 )
2016-07-27 15:40:04 +01:00
Tom Christie
1acbc29d58
Minor style tweak. [ci skip]
2016-07-27 15:39:46 +01:00
Alexander Gaevsky
46a870c002
Fix schema generation for APIView, since it does not have get_serializer_class method. ( #4285 )
2016-07-27 15:36:36 +01:00
Tom Christie
3586c8a61a
Set view.format_kwarg in schema generator ( #4315 )
2016-07-27 14:43:45 +01:00
Tom Christie
8ebf81b150
Schema support should function when 'pagination_class = None' ( #4314 )
2016-07-27 13:02:48 +01:00
Tom Christie
351e0a4a99
Fix json indent parameter. Closes #4281 ( #4313 )
2016-07-27 11:49:01 +01:00
Sassan Haradji
f0f61aa077
use verbose_name instead of object_name in field_mapping ( #4299 )
...
* use verbose_name instead of object_name in error messages
2016-07-26 15:12:51 +01:00
Asif Saifuddin Auvi
b63099084f
twitter bootstrap minor update ( #4307 )
...
* updated bootstrap min css to 3.3.7
* updated bootstrap min javascript to 3.3.7
2016-07-26 14:09:04 +01:00
Gustavo Pantuza
da2ff1bc4a
Adding support for RFC 4918 status codes ( #4291 )
...
* Added HTTP status codes from RFC 4918
* Updated documentation about status codes
* Added reference to RFC 4918
2016-07-26 11:09:12 +01:00
Andi Albrecht
3ca0b15b17
Restore meta information for each search field. ( #4298 )
...
The meta information stored in opts needs to be restored for
each search field. Otherwise it references the wrong model
when an attribute of a related model comes before an attribute
of the original model in search fields. This doesn't apply to
m2m relations since must_call_distinct returns True in that
case.
2016-07-26 11:07:03 +01:00
Aymeric Augustin
a436515196
Add missing return statement.
...
Fix #4272 .
2016-07-16 22:44:49 +02:00
Tom Christie
8385ae42c0
3.4.0 Release ( #4258 )
...
* 3.4.0 Release
* Version 3.4 release
* Full release notes
* Update translation files
* Update release documentation
* Update release notes
* Docs on supporting alternate schema formats
* Add schema_renderers to DefaultRouter
2016-07-13 16:30:41 +01:00
Tom Christie
549210b50f
Don't strip microseconds in JSON output. ( #4256 )
2016-07-11 14:34:23 +01:00
Tom Christie
321c060dbe
Resolve incorrect media type ( #4254 )
2016-07-11 12:04:11 +01:00
kiyoqoko
6338ce80ab
Add localize keyword argument to DecimalField
( #4233 )
...
Add `localize` keyword argument for DecimalField
2016-07-06 16:07:16 +01:00
Tom Christie
6ff9840bde
Schemas & client libraries. ( #4179 )
...
* Added schema generation support.
* New tutorial section.
* API guide on schema generation.
* Topic guide on API clients.
2016-07-04 16:38:17 +01:00
Vikalp Jain
1d2fba906e
Fix issues with routers for custom list-route and detail-routes ( #4229 )
2016-06-29 17:27:17 +01:00
Laurent De Marez
fdde44d9d1
Fix parsing multipart data using a nested serializer with list ( #3820 )
...
It is possible that a key in a MultiValueDict has multiple values, lists
are represented this way. When accessing a key in a MultiValueDict
it only returns the last element of that key. This becomes a problem
when parsing an html dict with a list inside of it.
To fix this problem we have to get and set the value using .getlist()
and .setlist().
2016-06-23 16:03:24 +01:00