Carlton Gibson
d54df8c438
Refactor schema generation to allow per-view customisation ( #5354 )
...
* Initial Refactor Step
* Add descriptor class
* call from generator
* proxy back to generator for implementation.
* Move `get_link` to descriptor
* Move `get_description` to descriptor
* Remove need for generator in get_description
* Move get_path_fields to descriptor
* Move `get_serializer_fields` to descriptor
* Move `get_pagination_fields` to descriptor
* Move `get_filter_fields` to descriptor
* Move `get_encoding` to descriptor.
* Pass just `url` from SchemaGenerator to descriptor
* Make `view` a property
Encapsulates check for a view instance.
* Adjust API Reference docs
* Add `ManualSchema` class
* Refactor to `ViewInspector` plus `AutoSchema`
The interface then is **just** `get_link()`
* Add `manual_fields` kwarg to AutoSchema
* Add schema decorator for FBVs
* Adjust comments
* Docs: Provide full params in example
Ref feedback b52e372f8f (r137254795)
* Add docstring for ViewInstpector.__get__ descriptor method.
Ref https://github.com/encode/django-rest-framework/pull/5354#discussion_r137265022
* Make `schemas` a package.
* Split generators, inspectors, views.
* Adjust imports
* Rename to EndpointEnumerator
* Adjust ManualSchema to take `fields`
… and `description`.
Allows `url` and `action` to remain dynamic
* Add package/module docstrings
2017-09-14 09:46:34 +01:00
Tom Christie
5ea810d526
Drop unnecessary TODO notes.
2017-09-14 09:44:59 +01:00
Sergei Azarkin
9aaea2586b
Fix authtoken managment command ( #5415 )
...
* Fix authtoken managment command username param
2017-09-12 14:03:29 +01:00
Carlton Gibson
71ad99e0b2
Merge pull request #5388 from founders4schools/fix/named-source
...
Fix ModelSerializer custom named fields with source on model
2017-09-04 17:24:36 +02:00
jhg14
3c1bf6bfd5
Add failing test for named attribute
...
Fix test crudely
Remove comment
2017-09-04 15:44:04 +01:00
Igor Tokarev
79be20a7c6
Updated supported values for the NullBooleanField ( #5387 )
...
* Updated supported values for the NullBooleanField.
* Added check for unhashable types in NullBooleanField.
2017-09-04 10:11:53 +01:00
Daniele Varrazzo
e42eb42d49
Don't make the content mandatory in the generic content form ( #5372 )
...
Sometimes, probably in the upgrade from Django 1.9 to 1.10, a post with
empty content is forbidden by javascript, with the message "Please fill
in this field". Filling the form with '{}' allows an application/json
request to be submitted.
The API call itself works perfectly well with a post with empty content:
the interface shouldn't make assumptions about it.
2017-09-04 10:04:48 +01:00
Carlton Gibson
7cd59147ea
Merge pull request #5376 from rpkilby/django-perms-queryset
...
DjangoModelPermissions should perform auth check before accessing the view's queryset
2017-09-04 08:24:40 +02:00
Ryan P Kilby
23b2d8099b
Unify QS handling for model/object permissions
2017-09-01 13:56:39 -04:00
Daniel Hahler
fff3db5517
Fix doc for ErrorDetail
2017-08-31 12:19:03 +02:00
Carlton Gibson
27c382c98d
Merge pull request #5351 from rpkilby/requestfactory-contenttype
...
Unexpected result when passing empty body to RequestFactory
2017-08-31 12:13:49 +02:00
Ryan P Kilby
0ec915e623
Force content_type inclusion in APIRequestFactory
2017-08-31 05:45:12 -04:00
Ryan P Kilby
07258ca032
Remove None handling from fields.get_attribute()
2017-08-30 17:42:12 -04:00
Denis Untevskiy
c8773671e7
+ Rejecting anonymous in DjangoModelPermissions *before* the .get_queryset call
2017-08-30 17:10:39 -04:00
Carlton Gibson
6a3b8cfa4c
Adjust wording
2017-08-22 20:44:19 +02:00
Felipe Bidu
6f2c3bcb12
Further clarifying the message when get_queryset returns None to include the class name that was called
2017-08-22 12:13:22 -03:00
Felipe Bidu
5fd01d06ab
Adding a more explicit error message when a view does have a get_queryset method but it returned nothing
2017-08-22 11:00:19 -03:00
Carlton Gibson
fed85bc29d
Merge pull request #5344 from carltongibson/3.6.4-release
...
Release notes etc for 3.6.4
2017-08-22 08:55:38 +02:00
Daniel Hahler
e389336ad7
docs/link.html: fix/remove undefined template var "schema"
2017-08-21 14:47:43 +02:00
Carlton Gibson
1a7ed29639
Update version number
2017-08-21 12:06:14 +02:00
Carlton Gibson
d875fb3272
Update compiled translations.
2017-08-21 12:05:25 +02:00
Carlton Gibson
68d818fcc7
Update content from Transifex
2017-08-21 12:02:14 +02:00
Carlton Gibson
d2286ba658
Merge pull request #5326 from limdauto/limdauto-patch-1
...
Fix introspection of list field in schema
2017-08-21 10:09:57 +02:00
Carlton Gibson
4d5e846ca7
Merge pull request #5334 from Woile/woile-nested-docs-fix
...
Fix docs multiple nested and multiple methods
2017-08-18 11:05:06 +02:00
kycool
c868378c71
Update fields.py
...
modify to_choices_dict document
2017-08-18 12:12:01 +08:00
Woile
a1546cc266
[NEW] Tests for templatetags.schema_links
2017-08-17 21:14:26 +02:00
Woile
11bc1fe282
Fix JS data binding
2017-08-17 12:33:59 +02:00
Woile
ed38371c3a
Fix docs multiple nested and multiple methods
2017-08-15 16:59:50 +02:00
Lim H
32a0b62508
Fix introspection of list field in schema
2017-08-12 18:59:03 +01:00
Alexander Dutton
e80b78d1cb
RemoteUserAuthentication, docs, and tests ( #5306 )
...
RemoteUserAuthentication, docs, and tests
2017-08-11 10:35:00 +01:00
Yury V. Zaytsev
96d6a9a6da
Docs: update link in pagination.py ( #5321 )
...
The blog post referenced in the documentation has been since moved to a new location.
2017-08-09 15:19:43 -04:00
Ryan P Kilby
26ebb88306
Revert 3288 ( #5313 )
...
* Add regression test for #2505 . Thanks @pySilver!
* Add regression test for #5087
* Revert "Cached the field's root and context property."
This reverts commit 792005806b
.
2017-08-07 16:52:09 +01:00
minusf
9ec89141ee
typo: may -> many
2017-07-20 23:42:51 +02:00
Erick Delfin
089887d56e
Simplified chained comparisons and minor code fixes ( #5276 )
2017-07-16 17:12:29 +01:00
Ryan P Kilby
d1cfec8d87
Fix SearchFilter to-many behavior by ANDing cond's
2017-07-10 14:50:47 -04:00
Tom Christie
6d4d4dfd04
Ensure closables in request.FILES get closed. ( #5262 )
...
Ensure closables on `.FILES` get closed.
2017-07-10 13:42:02 +01:00
elmccarthy
b905197f24
Fix issue #5258 ( #5259 )
...
Sanitize serializer.data to remove hidden fields before rendering template JSON instance to raw data form.
* Fix lint issues
2017-07-10 11:43:36 +01:00
Tom Christie
39f6f1137c
Merge pull request #5261 from encode/validation-error-on-invalid-timezone-parsing
...
Raise validation error on invalid timezone parsing.
2017-07-10 11:27:28 +01:00
Tom Christie
fbb3490989
Merge pull request #5188 from andreagrandi/auth-token-cmd
...
Add Django manage command to create a DRF user Token
2017-07-10 10:35:05 +01:00
Tom Christie
c7e2bad524
Merge pull request #5189 from myrubapa/master
...
Fix API documentation templates do not check for user authentication #5162
2017-07-10 10:28:33 +01:00
Tom Christie
bf7fcc495b
Raise validation error on invalid timezone parsing.
2017-07-10 10:14:31 +01:00
Tom Christie
3dab905656
Merge pull request #5231 from dmmatson/feature/slugfield-allow-unicode
...
Fixed tests on Windows. Added unicode support to SlugField
2017-07-07 12:41:52 +01:00
dmmatson
302a9d089e
Fixed tests on Windows. Added unicode support to SlugField
2017-06-23 23:11:17 -06:00
Venelin Stoykov
0e5d26fa6a
Fixed #5228 Set ViewSet args/kwargs/request before dispatch
2017-06-22 16:22:17 +03:00
José Padilla
9e72736af8
Merge pull request #5219 from blueyed/fix-doc-_authenticate
...
doc: fix documentation for Request._authenticate
2017-06-17 09:21:00 -04:00
Tom Christie
b069b0d33a
Merge pull request #5176 from levic/browsable-api-multipart-form-data
...
Fix browsable API not supporting multipart/form-data correctly
2017-06-16 15:08:27 +01:00
Levi Cameron
5cbfcbc56f
Fix regex typo allowing '[' in boundary string
2017-06-16 21:53:06 +10:00
Daniel Hahler
fe95ab675b
doc: fix documentation for Request._authenticate
...
It does not return anything.
2017-06-16 13:23:26 +02:00
Tom Christie
598e5877cd
Merge pull request #5192 from matteius/DRF-5135-one-to-one-pk
...
Special case for when OneToOneField is also primary key.
2017-06-16 12:06:12 +01:00
Dan Koch
4701f12c3e
Quote nested API parameters in api.js
...
I sometimes have parameter names with a period (.) in them, to represent nested objects, e.g. containerobj.inner_param. The Javascript was throwing an error in the browsable API when interacting with those parameters.
2017-06-13 16:01:02 -04:00
Daniel Hahler
515fe928d5
Use stacklevel=2 with DeprecationWarnings
...
This makes the warnings refer to the code where it is used, which makes
it easier to find and fix.
2017-06-12 14:59:29 +02:00
Andrea Grandi
d2459710ca
Implement option to reset User token
2017-06-03 11:58:01 +01:00
Andrea Grandi
34c38e0cfe
Use self.sdtout and CommandError to print output
2017-06-03 11:06:14 +01:00
Andrea Grandi
cf196a4424
Get UserModel from get_user_model and do not infer the natural key
2017-06-03 10:38:01 +01:00
Pierre Sassoulas
903ef4917a
Feat - Added aria-label and a new region for accessibility purpose
...
Navigating the page with a reader is easier is there is aria-label
and region.
https://www.w3.org/WAI/
2017-06-02 09:49:00 +02:00
Andrea Grandi
be590d61c0
Handle invalid User situation
2017-05-31 23:01:35 +01:00
Levi Cameron
6b8d6019ea
Fix boundary detection regex not handling spaces inside boundary marker correctly
2017-05-31 13:18:17 +10:00
Matt Davis
6115815108
Special case for when OneToOneField is also primary key.
...
https://github.com/encode/django-rest-framework/issues/5135
2017-05-30 13:57:45 -04:00
Levi Cameron
1c44ef2b11
Improvements to code clarity
2017-05-30 10:43:33 +10:00
Bekhzod Tillakhanov
c96fa224c7
Fix ul inner li
2017-05-30 00:29:11 +05:00
Bekhzod Tillakhanov
84e22cc2f3
Scheme fix when unauth and Flask8 lint fix
2017-05-30 00:15:07 +05:00
Andrea Grandi
d198b1abe6
Add Django manage command to create a DRF user Token
2017-05-29 17:07:50 +01:00
Tom Christie
9c9525b130
Merge pull request #5187 from mathpresso-mom/list_route_regex
...
Fix list_route, detail_route with kwargs contains curly bracket in url_path
2017-05-29 13:47:19 +01:00
이동환
0ad017a573
requested changes
2017-05-29 20:55:06 +09:00
Tom Christie
823eea2d59
Merge pull request #5147 from imdark/patch-1
...
Improve memory footprint when reading large JSON requests.
2017-05-29 11:55:53 +01:00
Tom Christie
e2157fbf7c
Merge pull request #5174 from tadhg-ohiggins/html_cutoff_none
...
Fix exception when HTML_CUTOFF is set to None
2017-05-29 11:54:03 +01:00
Dryice Liu
04adfb9c94
make sure max_length is in FileField kwargs
2017-05-28 04:14:56 +08:00
이동환
e6c9f89a12
Fixed curly bracket in regexp of @list_route
2017-05-25 19:13:45 +09:00
Levi Cameron
94c37c09c5
Fix browsable API not supporting multipart/form-data correctly
...
- Autodetect missing boundary parameter for Content-Type header
- textarea value normalises EOL chars to \n when multipart/form-data requires \r\n
2017-05-25 20:07:34 +10:00
imdark
cdeab1c490
fixed to pass isort linting
2017-05-24 18:12:38 -07:00
imdark
9a22811671
modified to use a reader
...
modified to use a reader since direct decoding is not supported
2017-05-24 17:56:49 -07:00
Tadhg O'Higgins
99782c2160
Add tests for HTML_CUTOFF setting and fix issue where setting it to None would raise an exception.
2017-05-24 16:46:18 -07:00
Matt Davis
99569190ab
If pagination class, include the schema generation
...
https://github.com/encode/django-rest-framework/issues/5144
2017-05-22 19:10:54 -04:00
Thomas Achtemichuk
70205cc64e
Lint
2017-05-17 15:17:55 -04:00
Thomas Achtemichuk
c9c383dfad
Don't trim whitespace from authtoken passwords
...
* Fixes #5148
2017-05-17 14:52:39 -04:00
imdark
3a2ad8e68c
in order to solve the memory leak at #5146
...
Large encoded string take a very long time to to release from memory, but if we just pass the stream directly into json.load we get much better memory performance.
2017-05-17 11:49:30 -07:00
Daniel Hahler
09f62e11a0
Possible fix
2017-05-16 12:07:04 +02:00
Vimarsh Chaturvedi
7b4afdc737
Merge branch 'master' into issue4989
2017-05-13 19:10:47 +05:30
vimarshc
b2d6149301
importing regex constant to remove invalid parameters.
2017-05-13 05:14:32 +05:30
Tom Christie
a99f12f1c6
Merge branch 'master' into version-3-6-3
2017-05-12 17:03:32 +01:00
Tom Christie
42f80c65a9
Version 3.6.3
2017-05-12 16:52:27 +01:00
Tom Christie
e8ff5e268b
Javascript fixes for API docs
2017-05-12 16:48:53 +01:00
Nabil Jamaleddine
cdb8a3c3c8
Add ValidationError to except in get_object_or_404 for django 1.11
2017-05-05 21:17:12 -04:00
Tom Christie
69b0ac52c2
Merge pull request #5117 from rpkilby/fix-filter-backend
...
Fix DjangoFilterBackend mro
2017-05-04 12:32:03 +01:00
German Ilyin
5246a5a44e
Fix a typo in a comment
2017-05-04 10:13:58 +06:00
Ryan P Kilby
01ffb8961d
Fix DjangoFilterBackend mro
2017-05-03 12:51:44 -04:00
Tom Christie
97312699f5
Merge pull request #5085 from hurturk/schema-method-limited
...
Generate schema with respect to http_method_names provided by CBV
2017-05-03 09:16:01 +01:00
hurturk
518bb44a9e
Remove excessive class instance while getting http_method_names
2017-05-03 03:49:04 -04:00
hurturk
6075f8051a
Refactor CBV schema method limitation for set operations
2017-05-02 17:34:53 -04:00
Tom Christie
60dbe72a62
Merge pull request #4437 from dfavato/master
...
Set self.count before self.limit in LimitOffsetPagination
2017-05-02 10:21:36 +01:00
Tom Christie
dea601dc86
Merge pull request #4222 from NewVadim/master
...
Fix partial update for the ListSerializer.
2017-05-02 10:17:12 +01:00
Tom Christie
d2d0a06faf
Merge pull request #5084 from Nerlin/fix-render-required-nested-serializer-error
...
Fixed render error of required nested serializer.
2017-05-02 10:05:25 +01:00
Tom Christie
80d0ee563a
Merge pull request #5042 from boxingwizards/i4999
...
PoC Add JSONBoundField to serializers (Fixes #4999 )
2017-04-27 20:26:40 +01:00
Tom Christie
5ba2368ff9
Merge pull request #4987 from halfstrik/master
...
Added test for DateTimeField validation when server has timezone with…
2017-04-27 17:22:27 +01:00
Tom Christie
aafd0a644f
Merge pull request #4979 from linovia/feature/improve_schema_shortcut
...
Restrict doc & schema shortcuts to a subset of urls
2017-04-27 16:58:01 +01:00
Tom Christie
5e5fd67899
Merge pull request #5086 from valohai/limit-offset-pagination-schema
...
SchemaGenerator: Avoid crashing with pagesizeless paginators
2017-04-27 16:57:28 +01:00
Tom Christie
ee1a9fcef6
Merge pull request #5078 from rooterkyberian/issue-4748
...
add URL path unquote to HyperlinkedRelatedField.to_internal_value
2017-04-27 16:27:04 +01:00
Dave Allan
f56b117064
Pass non-JSON serializable values through unmodified
2017-04-26 14:10:47 -04:00
Dave Allan
7a0bd1c4d1
Use text area for JSON fields and indent JSON
2017-04-26 14:10:47 -04:00
Dave Allan
11d8e4df88
PoC Add JSONBoundField to serializers ( Fixes #4999 )
...
Per issue #4999 , JSONFields are not rendered properly in the DRF
browsable API HTML forms. This patch attempts to fix that behavior by
introducing a JSONBoundField helper similar to the NestedBoundField
helper.
2017-04-26 14:10:47 -04:00