Commit Graph

7904 Commits

Author SHA1 Message Date
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
4c9b14bd97 Add --minimum-perc to transifex pull command [ci skip] 2016-10-12 10:13:46 +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
Xavier Ordoquy
5f6ceee7a5 Merge pull request #4552 from duoi/master
Corrected `artist` and `album_name` typo in docs
2016-10-11 07:55:37 +02:00
Steven Johns
072d14c2e1 Corrected artist and album_name
`The Roots` are the band: https://en.wikipedia.org/wiki/The_Roots

`Undun` is their album: https://en.wikipedia.org/wiki/Undun
2016-10-11 11:20:48 +11: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
Manjit Kumar
d49e26f127 add drf-url-filters in third party filtering resources and fixed typo (#4548) 2016-10-10 12:35:38 +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
Alex Kahan
4ff9e96b4c Adding tests to encoder.py (#4536) 2016-10-05 09:54:59 +01:00
Alex Kahan
915ac22aeb Adding tests for rest_framework.py (#4523) 2016-10-04 21:22:56 +01:00
Rowan Seymour
883efbc19f Case insensitive uniqueness validation (#4534) 2016-10-04 13:44:50 +01:00
Xavier Ordoquy
0b373be712 Merge pull request #4531 from angvp/update-tox
Update Django security release 1.10.2
2016-10-02 10:29:09 +02:00
Angel Velasquez
b8fcb7807a Update Django security release 1.10.2 2016-10-02 03:11:40 -03:00
Danilo Bargen
1b882f7281 Add drf-dynamic-fields to third party packages (#4530) 2016-09-30 17:06:36 +01:00
Manjit Kumar
73fd1ff4e7 add drf-url-filters app to django-rest-framework in filtering docs (#4528)
- enabling validtions on incoming query params with the ease of adding new filters as easy as adding a new key in a dict.
2016-09-30 12:02:23 +01:00
Tom Christie
1c23b0392e Merge branch 'master' of github.com:tomchristie/django-rest-framework 2016-09-29 21:29:31 +01:00
Tom Christie
e7fd166048 Docs tweaks 2016-09-29 21:29:21 +01:00
Xavier Ordoquy
12576275c4 Merge pull request #4519 from jpadilla/master
Update Django security releases 1.9.10 and 1.8.15
2016-09-28 09:16:46 +02:00
José Padilla
38aa0ac281
Update Django security releases 1.9.10 and 1.8.15 2016-09-28 00:05:22 -04: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
Xavier Ordoquy
e82ee91078 Merge pull request #4497 from knaperek/fix-readme-token-model-name
Rename an invalid reference to BasicToken in the docs
2016-09-19 22:43:47 +02:00
Jozef Knaperek
76cc2f0319
Rename an invalid reference to BasicToken in the docs 2016-09-19 21:52:06 +02: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
Jeff Willette
a68b37d8bc Update to correct location of reverse relation doc (#4481) 2016-09-13 09:31:48 +01:00
Xavier Ordoquy
e91ffc87cb Ignore empty args in the MultipleFieldLookupMixin definition - Closes #4484 2016-09-13 07:21:10 +02: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
Jakub Moliński
80bd3b9722 [documentation] Throttling random request code example fix (#4451) 2016-08-30 10:37:48 +01: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
dfavato
ec4761225e Set self.count before self.limit in LimitOffsetPagination
By doing this it is possible to override get_limit in order to return all records if the request has a predefined param.

For example, if one wants that all records are retrieved if url has &limit=-1, get_limit could return self.count in this case.

Otherwise, if self.count is set after self.limit then, to achive the same result, one has to override get_limit and paginate_queryset, or run get_limit twice.
2016-08-23 14:52:20 -03: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