Commit Graph

2237 Commits

Author SHA1 Message Date
Tom Christie
83673e8f74 Merge branch 'version-3.1-2489' of git://github.com/brandoncazander/django-rest-framework into brandoncazander-version-3.1-2489 2015-02-04 23:32:48 +00:00
Tom Christie
3b00824560 Merge pull request #2518 from longhotsummer/patch-1
FIX: Don't default to list in method args
2015-02-04 14:30:53 +00:00
Greg Kempe
e13d2af137 Parens around if clause 2015-02-04 16:26:23 +02:00
Greg Kempe
d920683237 Use inline if 2015-02-04 16:13:30 +02:00
Ofir Ovadia
58e7bbc8ec Prefetching the user object when getting the token in TokenAuthentication.
Since the user object is fetched 4 lines after getting Token from the database, this removes a DB query for each token-authenticated request.
2015-02-04 16:08:41 +02:00
Greg Kempe
7bb5fd270d FIX: Don't default to list in method args
Fixes @list_route and @detail_route so that they don't initialize their `methods` parameter as a list. In some cases the list gets cleared, and the result is that default parameter is now empty, and may get reused unexpectedly.
2015-02-04 16:03:03 +02:00
Tom Christie
8b4ce5c636 Minor authentication message improvement. 2015-02-04 09:07:10 +00:00
Brandon Cazander
77d061d234 Provide rest_framework.resolve. Fixes #2489 2015-02-02 20:37:33 -08:00
Jason Yan
4b65e9e42b Fixed missing whitespace in error string. 2015-02-02 16:14:34 -08:00
Omer Katz
8f1d42e7d5 Fixed typos in docstrings. 2015-02-02 10:50:54 +02:00
José Padilla
b844cc4bb6 Merge remote-tracking branch 'upstream/version-3.1' into version-3.1
Conflicts:
	rest_framework/serializers.py
2015-02-01 15:34:33 -04:00
José Padilla
37dce89354 Add support for Django 1.8’s ArrayField 2015-02-01 15:33:34 -04:00
Tom Christie
e63f49bd1d Fix field mappings for 1.8 fields 2015-01-31 19:59:52 +00:00
Tom Christie
2cc4cb2465 Fix error text in test. 2015-01-31 08:53:40 +00:00
Tom Christie
53b29f0902 _closable_objects as an empty list, not deleted 2015-01-31 08:27:17 +00:00
Tom Christie
6838f17325 Add built-in translations. 2015-01-30 16:41:21 +00:00
Tom Christie
0d96cf2ca2 Latest translation source messages. 2015-01-30 16:27:49 +00:00
José Padilla
760b25bc20 Fix AttributeError on renamed _field_mapping 2015-01-30 11:36:03 -04:00
Tom Christie
4ee4b4f2dc Merge master 2015-01-30 14:00:25 +00:00
Tymur Maryokhin
ba7dca893c Removed router check for deprecated '.model' attribute 2015-01-29 17:28:03 +01:00
Tom Christie
6d89430dd2 Merge pull request #2475 from sdreher/master
ManyRelatedField.get_value clearing field on partial update
2015-01-28 09:26:49 +00:00
Tom Christie
81c2562ec4 Merge pull request #2479 from lucaswiman/custom_user_shim_db_table
Use the proper db_table argument when constructing meta
2015-01-28 09:20:27 +00:00
Tom Christie
761f264f59 Merge pull request #2473 from tomchristie/reload-settings
Reload api_settings when using Django's 'override_settings'
2015-01-28 09:05:51 +00:00
Lucas Wiman
a1eba885e2 Use the proper db_table argument when constructing meta 2015-01-27 19:30:44 -08:00
Brandon Cazander
ac87490b91 Clone the versioning_scheme when necessary. Fixes #2477 2015-01-27 17:10:17 -08:00
Susan Dreher
8c3f82fb18 🐛 ManyRelatedField get_value clearing field on partial update
A PATCH to a serializer's non-related CharField was clearing an ancillary StringRelatedField(many=True) field.
The issue appears to be in the ManyRelatedField's get_value method, which was returning a [] instead of empty
when the request data was a MultiDict.

This fix mirrors code in fields.py, class Field, get_value, Ln. 272, which explicitly returns empty on a partial update.

Tests added to demonstrate the issue.
2015-01-27 16:18:51 -05:00
Xavier Ordoquy
5b369bf5fe Bumped the version. 2015-01-27 19:45:37 +01:00
Tom Christie
65bca59ea5 Reload api_settings when using Django's 'override_settings' 2015-01-27 13:51:30 +00:00
Brandon Cazander
bf58c1265d Set a version attribute on cloned requests if necessary. 2015-01-26 22:56:57 -08:00
Brandon Cazander
ed04725822 Use enhanced request when cloning requests for checking permissions on other methods. Fixes #2455 2015-01-24 01:44:40 -08:00
Tom Christie
0cb5acee75 Merge pull request #2453 from alexsdutton/data-and-files-none-data
Pass {} as data to DataAndFiles, as it ends up in a MergeDict
2015-01-23 18:03:40 +00:00
Alexander Dutton
a1fa7218eb Pass {} as data to DataAndFiles, as it ends up in a MergeDict
In the same vein as #2399.
2015-01-23 16:52:24 +00:00
Tom Christie
35f6a82462 Added DictField and support for HStoreField. 2015-01-23 16:27:23 +00:00
Tom Christie
889a07f556 Support assignment in ClassLookupDict 2015-01-23 15:32:21 +00:00
Tom Christie
e8db1834d3 Added UUIDField. 2015-01-23 15:24:06 +00:00
Tom Christie
8f25c0c53c Add 1.8 support 2015-01-23 14:56:15 +00:00
Tom Christie
39f26c9eca Merge master 2015-01-23 14:28:59 +00:00
Tom Christie
f3b6eedb8a More sensible response caching. 2015-01-23 12:56:55 +00:00
Tom Christie
f1ac9d3f9b More graceful handling of malformed Content-Disposition 2015-01-23 12:26:44 +00:00
Tom Christie
25a703b42c Work around meta API differences 2015-01-23 11:15:11 +00:00
Tom Christie
43d983fae8 Add paging controls 2015-01-22 17:25:12 +00:00
Tom Christie
0822c9e558 Cursor pagination now works with OrderingFilter 2015-01-22 16:12:05 +00:00
Tom Christie
408261ee02 Support ordering attribute either on view or on pagination class for CursorPagination 2015-01-22 15:15:52 +00:00
Tom Christie
83a82b44a5 Support for tuple ordering in cursor pagination 2015-01-22 15:07:01 +00:00
Tom Christie
38a2ed6f62 Python 3 fixes for cursor pagination 2015-01-22 14:04:25 +00:00
Tom Christie
ca372ef6ef Fix for python 3 2015-01-22 13:50:51 +00:00
Tom Christie
94b5f7a86e Tidy up cursor tests and make more comprehensive 2015-01-22 12:14:52 +00:00
Tom Christie
f1af603fb0 Tests for reverse pagination 2015-01-22 10:51:04 +00:00
Tom Christie
cae9528c54 Add support for reverse cursors 2015-01-22 10:28:19 +00:00
Tom Christie
5e52f0fd8c Merge branch 'version-3.1' into cursor-pagination 2015-01-21 20:29:58 +00:00
Xavier Ordoquy
15f797fd3e Owned by import * 2015-01-21 19:46:31 +01:00
Xavier Ordoquy
857185cf07 Workaround Django issue 24198. 2015-01-21 19:29:40 +01:00
Tom Christie
4cf03e30ff Do not render HTML output for hidden fields. Closes #2410. 2015-01-21 14:27:51 +00:00
Tom Christie
e59b3d1718 Make ReturnDict cachable. Closes #2360. 2015-01-21 14:18:13 +00:00
Tom Christie
9ec08ce578 Merge master 2015-01-21 13:12:14 +00:00
Tom Christie
da6ef3d0b0 Allow missing fields option for inherited serializers. Closes #2388. 2015-01-21 13:03:37 +00:00
Tom Christie
e5b94f7b7b Merge branch 'version-3.1' into cursor-pagination 2015-01-19 15:23:08 +00:00
Tom Christie
3cc39ffbce NotImplemented -> NotImplementedError 2015-01-19 15:22:38 +00:00
Tom Christie
6065cdbd93 Merge master 2015-01-19 15:16:57 +00:00
Tom Christie
fdeef89ba7 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2015-01-19 14:48:42 +00:00
Tom Christie
46a3eda08d NotImplemented -> NotImplementedError 2015-01-19 14:48:13 +00:00
Tom Christie
4f3c3a06cf Drop trailing whitespace on indented JSON output. Closes #2429. 2015-01-19 14:41:10 +00:00
Alexander Dutton
af05820b1b NotImplemented is not an exception
`NotImplemented` is a singleton object, not an exception. You should be raising `NotImplementedError` here instead.
2015-01-19 14:23:13 +00:00
Tom Christie
0dffc46cb7 ReturnDict and ReturnList repr as standard dict/list. Closes #2421. 2015-01-19 14:21:09 +00:00
Tom Christie
da1db34a36 Handle UUID objects in JSONEncoder. Closes #2433. 2015-01-19 14:19:01 +00:00
Fabien Bochu
5484d570cb Fix timedelta JSON serialization on Python 2.6. 2015-01-19 13:09:08 +01:00
Tom Christie
dbb684117f Add offset support for cursor pagination 2015-01-19 09:24:42 +00:00
Tom Christie
492f3c410d Cleaning up cursor implementation 2015-01-17 00:59:02 +00:00
Tom Christie
4919492582 First pass at cursor pagination 2015-01-17 00:10:43 +00:00
Tom Christie
86d2774cf3 Fix compat issues 2015-01-16 20:30:46 +00:00
Tom Christie
8b0f25aa0a More pagination tests & cleanup 2015-01-16 16:55:46 +00:00
Tom Christie
53edd37df5 Tests for LimitOffsetPagination 2015-01-15 21:07:05 +00:00
Tom Christie
68dfa369b5 Flake 8 fixes 2015-01-15 16:55:04 +00:00
Tom Christie
d76e83dd78 Tweaks, and add pagination controls for offset/limit. 2015-01-15 16:52:07 +00:00
Tom Christie
313aa727e3 Tweaks 2015-01-14 17:46:41 +00:00
Tom Christie
3833a5bb8a Include pagination control in browsable API 2015-01-14 16:51:26 +00:00
Tom Christie
f13fcba9a9 Include paragraph around view description in browable API 2015-01-14 13:20:02 +00:00
Tom Christie
4d287c7aef Include paragraph around view description in browable API 2015-01-14 13:19:56 +00:00
Tom Christie
4ce4132e08 Preserve ordering on relationship drop-down choices. Closes #2408. 2015-01-14 12:56:03 +00:00
Tom Christie
1bcec3a0ac API tweaks and pagination documentation 2015-01-13 17:14:13 +00:00
Tom Christie
fb0a434f9b Merge pull request #2399 from askholme/master
Fix for FileUploadParser with 3.x
2015-01-12 12:21:35 +00:00
José Padilla
cc13ee0577 Fix error when NUM_PROXIES is greater than one 2015-01-12 08:12:24 -04:00
José Padilla
d6d08db0dd Fix ident format when using HTTP_X_FORWARDED_FOR
If NUM_PROXIES setting is set to None,
HTTP_X_FORWARDED_FOR might be used as is, which
might contain spaces and cause errors on
cache backends like memcached.
2015-01-11 10:58:08 -04:00
Ask Holme
d6bff10f98 Make FileUploadParser work with standard django API
Output from parsers ends up in a Django MergeDict and they exists elements to be dicts - not None
2015-01-10 18:15:21 +01:00
Tom Christie
73feaf6299 First pass at 3.1 pagination API 2015-01-09 15:30:36 +00:00
Tom Christie
11efde8905 Merge pull request #2373 from jakul/document-translations-3.1
Document how to translate DRF error messages (version 3.1)
2015-01-09 11:57:02 +00:00
Xavier Ordoquy
02ee3871ae Merge remote-tracking branch 'origin/master' into release/3.0.3 2015-01-08 23:24:19 +01:00
Craig Blaszczyk
1368c31a70 remove unused import 2015-01-08 17:16:15 +00:00
Tom Christie
4d9e7a5356 Ammend docstring to use python2/3 compatible example. 2015-01-08 15:38:27 +00:00
Tom Christie
b33a6cbff1 Ensure urlparse is not publically exposed in compat.py - less chance of accidental conflict. 2015-01-08 14:16:58 +00:00
Craig Blaszczyk
734f8f2667 restore Django 404 2015-01-07 18:22:40 +00:00
Craig Blaszczyk
58ec7669ae swap backticks for double quotes 2015-01-07 18:22:30 +00:00
Xavier Ordoquy
b7015ea898 Bumped the version to 3.0.3. 2015-01-07 19:11:17 +01:00
Craig Blaszczyk
91e316f781 prefer single quotes in source and double quotes in user visible strings; add some missing full stops to user visible strings 2015-01-07 12:46:23 +00:00
Craig Blaszczyk
9a4267049b use double quotes in user messages 2015-01-07 12:33:37 +00:00
Craig Blaszczyk
662a907bdf update source strings 2015-01-07 12:02:04 +00:00
Craig Blaszczyk
4c32083b8b use double quotes for user visible strings; end user visible strings in full stops; add some missing translation tags 2015-01-07 12:01:11 +00:00
Craig Blaszczyk
fe5d93c8cb remove hardcoded page number 2015-01-07 11:44:18 +00:00
Craig Blaszczyk
3819ae35ac recompile pofile with new python format strings 2015-01-07 11:42:36 +00:00
Craig Blaszczyk
9b4177b6ea switch to using format strings in error messages; raise NotFound when pagination fails to provide a more useful error message 2015-01-07 11:41:06 +00:00