Commit Graph

3132 Commits

Author SHA1 Message Date
Tom Christie
f4412d0827 Docs for select cutoffs 2015-08-21 10:52:44 +01:00
Tom Christie
b6c4d8c25a Resolve duplicate error for IPAddressField. Closes #3250. 2015-08-20 12:38:48 +01:00
Tom Christie
75be91912c Allow AdminRenderer to function when pagination is disabled. Closes #3275. 2015-08-20 12:28:00 +01:00
Tom Christie
d86fd67895 Fix display of select multiple HTML fields. Closes #3290. 2015-08-20 12:11:14 +01:00
Tom Christie
b4b2dc18fa Clean-up refactoring of SearchFilter implementation 2015-08-20 11:35:32 +01:00
Tom Christie
aa4cd7e9d7 Guard against LimitOffsetPagination edge case. Closes #3303. 2015-08-20 10:12:52 +01:00
José Padilla
8af366a732 Raise error when source= use on a child.
Closes #3292
2015-08-19 12:32:16 -04:00
Omer Katz
792005806b Cached the field's root and context property. 2015-08-18 12:38:13 +03:00
Ollie Walsh
332c30afb9 Lint 2015-08-14 12:20:25 +01:00
Ollie Walsh
3d0292e1cd Do not ignore overridden View.get_view_name() in breadcrumbs 2015-08-14 12:16:57 +01:00
Tom Christie
1b53e804ee 3.2.2 Release 2015-08-13 10:23:22 +01:00
Tom Christie
0e6c467851 Merge pull request #3263 from jgadelange/master
Resolved issue with rendering of nested serializers form when value is None
2015-08-13 10:16:19 +01:00
Tom Christie
18af181191 Fix boolean checkboxes setting to False. Closes #3258. Closes #2776. 2015-08-13 09:56:03 +01:00
Jeffrey de Lange
f5a9904cc8 Resolved issue with rendering of nested serializers form when value is None 2015-08-11 20:27:41 +02:00
Tom Christie
a3e64fbe0d Resolve issue with rendering nested serializer forms with empty values. Closes #3260. 2015-08-11 16:25:02 +01:00
Tom Christie
0df99a6c95 Fix erronous request.files docs, and incorrect request.FILES behavior. Closes #3261. 2015-08-11 16:21:02 +01:00
Tom Christie
b7e47e3d67 Merge branch 'master' of github.com:tomchristie/django-rest-framework 2015-08-11 09:24:16 +01:00
Tom Christie
83e49dbe63 Fix checkbox input display. Refs #3258. 2015-08-11 09:23:49 +01:00
Tom Christie
4509dbc24e Merge pull request #3241 from jpadilla/master
Raise error if passed a serializer instance
2015-08-10 17:41:01 +01:00
James Beith
5c0a2b79b3 Remove converting a string in to a string
The `display_value` method returns a text type.
2015-08-10 15:33:04 +01:00
James Beith
2f6e5d0509 Add display value method
Returns the text representation of the instance. Subclasses can override this method to provide a different display value used for populating the `choices` property.
2015-08-10 11:03:57 +01:00
José Padilla
7a0416c50b Raise error if passed a serializer instance 2015-08-07 13:12:37 -04:00
Tom Christie
0cbfbc27d8 Tweak erronous assignment 2015-08-07 15:41:46 +01:00
Tom Christie
3ea394dbff Version 3.2.1 2015-08-07 14:55:18 +01:00
Tom Christie
368fb9fb2a Merge pull request #3238 from kezabelle/bugfix/3235
Fixed #3235 - ListField now returns the QueryDict value even if it's a list of only one item.
2015-08-07 14:44:32 +01:00
Tom Christie
65e1c938eb Fix for 1, 0 being rendered as true, false in the admin. Closes #3227. 2015-08-07 14:38:36 +01:00
Tom Christie
e63dcab8b3 Fix for rendering select templates on relationships 2015-08-07 14:36:00 +01:00
Tom Christie
88609ba3a3 Merge branch 'master' of github.com:tomchristie/django-rest-framework 2015-08-07 14:24:37 +01:00
Tom Christie
19c1976fcc Leave requests.FILES alone, for compat with regular Django requests. Closes #3239. 2015-08-07 14:24:28 +01:00
Keryn Knight
0078f66104 Fixed #3235 - A querydict which yields a list with only one value now correctly returns the provided data. 2015-08-07 11:43:17 +01:00
Tymur Maryokhin
4e5da16961 Remove Django 1.4 compat code 2015-08-07 00:02:29 +02:00
Tom Christie
67ddd54a89 Merge pull request #3226 from tomchristie/version-3.2
Version 3.2
2015-08-06 14:30:46 +01:00
Tom Christie
b4f1a8a367 Update translations 2015-08-06 13:22:53 +01:00
Tom Christie
78053c7e6c Upgrade version to 3.2.0 2015-08-06 13:18:51 +01:00
Tom Christie
24dec32e7a Added test_iter_options 2015-08-06 12:18:09 +01:00
Tom Christie
4d69286efa Use same structure for both .choices and .grouped_choices 2015-08-06 12:03:38 +01:00
Tom Christie
a6fefe78ff Added docstring 2015-08-06 11:44:39 +01:00
Tom Christie
27ac5a3680 Support grouped choices 2015-08-06 11:43:03 +01:00
Tom Christie
95a1550388 Merge branch 'grouped-choices-fix' of https://github.com/maxpeterson/django-rest-framework into maxpeterson-grouped-choices-fix 2015-08-06 10:04:52 +01:00
Tom Christie
38a1b3ec6b Rationalize decimal logic. Closes #3222. 2015-08-06 09:51:00 +01:00
Tom Christie
f7d44dfae0 Loud errors on request.DATA et al. 2015-08-05 17:07:47 +01:00
Tom Christie
6942fa5dab Mask view docstring on 401 and 403 responses. Closes #3216. 2015-08-05 13:59:55 +01:00
Tom Christie
6161ac7d07 Fix parse_html_dict signature. Closes #3212. 2015-08-05 13:45:56 +01:00
Tom Christie
7b51508600 Error on double underscore ordering with CursorPagination. Refs #3221. 2015-08-05 13:42:44 +01:00
Tom Christie
bf35906dc0 FilePathField subclassing from ChoiceField 2015-08-03 10:17:41 +01:00
Tom Christie
877e964d7e Don't need to support Django 1.4 with FilePathField. 2015-08-03 10:15:28 +01:00
Tom Christie
8d7c0a8474 Merge branch 'feature/filepathfield' of https://github.com/Ins1ne/django-rest-framework into Ins1ne-feature/filepathfield 2015-08-03 10:09:46 +01:00
Tom Christie
650866cc43 Blank relational fields map to required=False serializer fields. Closes #3210. 2015-08-03 09:48:03 +01:00
Tom Christie
472784b70a Docs for custom hyperlinked fields. 2015-08-03 09:27:03 +01:00
Tom Christie
a543fae180 Merge pull request #2766 from delinhabit/allow-null-list-serializer
Modify subtle ChildSerializer(many=True, allow_null=True) behavior.
2015-07-31 10:11:21 +01:00
Tom Christie
e68d737825 Respect blank on many to many, and set allow_empty=False if it is not present. Closes #2804. 2015-07-30 17:03:08 +01:00
Tom Christie
ed3f9593af Merge branch 'version-3.2' into remove-url-from-future 2015-07-30 16:02:40 +01:00
Tom Christie
1b3b01e042 Remove unused imports 2015-07-30 15:59:27 +01:00
Tom Christie
c8ad0cce19 Bump minimum Django version to 1.5 2015-07-30 15:43:39 +01:00
Tom Christie
c203ca4c64 Deprecations 2015-07-30 15:26:42 +01:00
Tom Christie
5b39d820be Remove 'load url from future' tags in templates. 2015-07-30 15:14:02 +01:00
Tom Christie
1f55bc747b Merge pull request #2926 from tomchristie/admin-style
Admin style renderer
2015-07-30 15:01:37 +01:00
Tom Christie
79b825ef32 Drop unused import 2015-07-30 14:38:04 +01:00
Tom Christie
5c1d6a9200 Docs for AdminRenderer 2015-07-30 14:07:51 +01:00
Hachikooking
d2ae7d4fcd Add args to the function call for unnamed parameters 2015-07-29 14:43:25 +02:00
clemence.lop
2109f55244 Correct API ROOT to enable parametered urls 2015-07-28 15:55:49 +02:00
Tom Christie
6e3ba202af Merge pull request #2690 from delinhabit/hyperlinked-relation-callable-source
Support source='some_method' for HyperlinkedRelatedField.
2015-07-27 16:19:48 +01:00
Ion Scerbatiuc
d4353cc1fd Moved the code comment inside the if block and removed whitespace 2015-07-27 07:57:05 -07:00
Ion Scerbatiuc
0386a01673 Addressed CR comments 2015-07-27 07:45:35 -07:00
Tom Christie
402fb39396 HStoreField maps to ListField(CharField(allow_blank=True). Closes #2659. 2015-07-27 13:18:49 +01:00
Tom Christie
f1e2135b04 Restyle horizontal checkbox. Closes #2783. 2015-07-27 13:11:24 +01:00
Tom Christie
798cd1a637 Fix for DjangoObjectPermissionsFilter with Guardian < 1.3 2015-07-27 10:20:37 +01:00
Ion Scerbatiuc
47a22a55ca Added a possible fix 2015-07-25 09:44:00 -07:00
Ion Scerbatiuc
bf25a6ecbc Test case for using allow_null with many=True and a fix for it 2015-07-25 08:10:15 -07:00
Tom Christie
bdeb28944f Use RuntimeError, not AssertionError when guarding against direct View.queryset evalutation. Refs #3180. 2015-07-24 09:13:39 +01:00
Tom Christie
108dfafa44 Fix Django 1.5/1.4 compat issue 2015-07-24 09:02:16 +01:00
Tom Christie
c0e3e670ca Fix Django compat for Queryset import 2015-07-23 17:43:49 +01:00
Tom Christie
e05021c8c6 Guard against erronous direct .queryset evaluation in CBVs. 2015-07-23 17:17:18 +01:00
Tom Christie
4c1597efe0 Error modals 2015-07-23 16:16:48 +01:00
Tom Christie
b996266431 Merge master 2015-07-23 15:28:29 +01:00
Tom Christie
92008d3d16 None -> '' in the context of form field values 2015-07-23 14:36:23 +01:00
Tom Christie
90fe0fb881 Errors in browsable API on error. Closes #3024. 2015-07-23 14:31:25 +01:00
Tom Christie
22631c73a7 Resolve assertion error with LimitOffsetPagination and erronous parameters. Closes #2920. 2015-07-23 12:41:35 +01:00
Aider Ibragimov
205f388631 fix import sort order 2015-07-19 01:32:51 +03:00
Aider Ibragimov
c4f1c98572 fix lint issues 2015-07-19 01:22:57 +03:00
Aider Ibragimov
a1397ac699 fix bugs, move version branching to compat, update ModelSerializer mapping 2015-07-19 00:26:03 +03:00
Aider Ibragimov
d845157983 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework into feature/filepathfield 2015-07-18 23:34:07 +03:00
Tom Christie
85cc8e9f1a Merge pull request #3168 from tomchristie/error-on-erronous-commit-argument
Helpful error on erronous 'serializer.save(commit=False)'
2015-07-17 12:50:06 +01:00
Tom Christie
138e9fcc8f Helpful error on erronous 'serializer.save(commit=False)' 2015-07-17 12:39:22 +01:00
Tom Christie
788aae2aaf Upgrade guardian support to 1.3. Closes #3163. 2015-07-16 16:46:07 +01:00
Tom Christie
0ccb148183 Support QueryDict list arguments with ListField. Closes #3155. 2015-07-16 15:59:15 +01:00
Tom Christie
e14391e041 Fix for ModelSerializer ChoiceField with nonstandard args. Closes #3126. 2015-07-16 15:46:27 +01:00
Tom Christie
713333d354 Merge branch 'master' of github.com:tomchristie/django-rest-framework 2015-07-16 15:17:27 +01:00
Tom Christie
806b0b34da Include nested objects in metadata for OPTIONS. Closes #3156. Closes #2915. 2015-07-16 15:17:18 +01:00
Tom Christie
264d423493 Added allow_empty flag for ListField, ListSerializer, ManyRelation, MultipleChoiceField. 2015-07-16 13:51:15 +01:00
Tom Christie
a8acdbc388 Resolve issue with nested serializers in HTML forms. Closes #3153. 2015-07-16 12:04:38 +01:00
Tom Christie
d231f36588 Support default values being used for empty HTML fields. Closes #3130. 2015-07-16 11:47:40 +01:00
Tom Christie
7315ed8b00 Resolve browsable API form issues with nested serializers. Closes #3153. 2015-07-16 10:49:00 +01:00
Tom Christie
c879aaf398 page_size needs to be stored as state on CursorPagination. Refs 3147. 2015-07-16 10:26:16 +01:00
Tom Christie
a9f1d99cb5 Fix 'metadata' action on viewsets. Closes #3158. Closes #3157. Closes #3115. 2015-07-16 10:08:22 +01:00
Tom Christie
6b08e97b6a Form fields should use textual only value representations. Closes #3139. Closes #2416. Closes #2558. 2015-07-14 15:47:13 +01:00
Tom Christie
132eab7bbd Raise helpful error when erronously including nested data in multipart post requests with test client. Closes #2919. 2015-07-14 14:49:44 +01:00
Tom Christie
c14ad7add7 Handle .choices for related fields when queryset argument is actually a mamanger instance. Closes #3145. 2015-07-14 13:31:24 +01:00
Tom Christie
1b51bcdbae Merge branch 'master' of github.com:tomchristie/django-rest-framework 2015-07-14 13:21:20 +01:00
Tom Christie
bca2ea35df Ensure that realtionship fields '.choices' returns an empty dict when accessed with a read-only field. Closes #2910. 2015-07-14 13:21:08 +01:00
Tom Christie
9c952dcfe9 Merge pull request #3147 from tomchristie/uploadcare-cursor-limits
Add `get_page_size` hook to `CursorPagination`
2015-07-14 12:44:13 +01:00
Tom Christie
468361425d page_size should be local, not overwriting class attribute. 2015-07-14 12:32:27 +01:00
Tom Christie
3c57e08f62 Clarifications to read_only fields. Closes #3064. 2015-07-14 12:22:51 +01:00
Tom Christie
2b51d5594b Remove whitespace and comment changes 2015-07-14 11:41:25 +01:00
Tom Christie
14a32ae32d Add get_page_size hook to CursorPagination. Closes #3068. 2015-07-14 11:40:15 +01:00
Tom Christie
1d012aeb93 Merge branch 'cursor-limits' of https://github.com/uploadcare/django-rest-framework into uploadcare-cursor-limits 2015-07-14 11:37:18 +01:00
Tom Christie
209bcb9087 Added url_field_name class attribute to ModelSerializer. Closes #3106. 2015-07-14 11:21:33 +01:00
Tom Christie
538ffaf6c7 Store self.action='metadata' for OPTIONS requests on viewsets. Closes #3115. 2015-07-14 11:13:26 +01:00
homm
a3afcfb6d3 duplicate get_page_size and related properties from PageNumberPagination 2015-07-13 14:44:48 +03:00
homm
59905e9335 revert BasePageSizePagination class and CursorPagination inheritance 2015-07-13 14:36:47 +03:00
Juan Gutierrez
b0c5f9db2f allow a non-required nested serializer to validate correctly when receiving multipart data 2015-07-03 12:28:48 -04:00
Max Peterson
ee2afb83e2 Fix 1.4 tests and make flatten_choice a utility. 2015-07-03 13:56:49 +01:00
Max Peterson
56b3f19605 Add support for grouped choices.
This also adds support for mixing single and paired choices:
```
[
    ('poor', 'Poor quality'),
    'medium',
    ('good', 'Good quality'),
]
```
2015-07-03 12:27:01 +01:00
Julien Syx
2b979d4356 Adding recursion on child of List Field 2015-07-02 14:15:43 +02:00
Tom Christie
8d69c4c068 Improve OPTIONS descriptions for lists dicts and nested serializers 2015-07-02 12:55:42 +01:00
Tom Christie
e6ca0fcb4c Remove erronous newline 2015-07-02 11:53:05 +01:00
Tom Christie
37815920e3 Update to master and tweak remaining issues 2015-07-02 11:50:40 +01:00
Tom Christie
055986b5b0 More helpful exception when URL cannot reverse and field value was empty. Closes #2698. 2015-07-02 11:36:14 +01:00
Tom Christie
c4f908d4ee Introduce datetime_parser as class level attribute on all date/time fields. Refs #3093. 2015-07-02 11:23:52 +01:00
Tom Christie
6ce9e3baf0 Remove datetime_parser argument from DateTimeField 2015-07-02 11:22:18 +01:00
Tom Christie
6d79ea2cde Merge pull request #3093 from sorreltree/master
Ability to customize DateTimeField with a custom datetime_parser
2015-07-02 11:21:25 +01:00
Tom Christie
fb4233736f Empty settings should also be coerced to lists. Closes #3087. 2015-07-02 10:28:46 +01:00
Tom Christie
d979dc6522 Tweak exception message 2015-07-02 10:16:43 +01:00
Tom Christie
e3c3d8826f Merge pull request #3071 from antonyc/patch-1
Made exception message more verbose
2015-07-02 10:14:01 +01:00
Tom Christie
39ed03c21c Merge pull request #3088 from atleta/master
Handle AttributeError as well (when the imported module exists but the specified function/class does not).
2015-07-02 09:52:53 +01:00
Tyler Redzko
af08c70242 Update extra_kwargs on model serializer
Ensures that the 'read_only' and 'required' keys from `extra_kwargs` are
retained when present. Closes #3091.
2015-07-01 10:10:18 -04:00
Michael Bacon
5f40ab53de Ability to customize DateTimeField with a custom datetime_parser 2015-06-30 14:51:47 -04:00
Laszlo Marai
f0bced6413 Handle AttributeError as well (when the imported module exists but
the specified function/class does not).
2015-06-30 05:49:44 +02:00
Venelin Stoykov
c3c9a712fa Fix ManyRelatedField.choices
Use choices from self.child_relation. 
We don't need to repeat ourself because can get out of sync.
2015-06-29 15:35:55 +03:00
José Padilla
7351a3f6ca Sort imports with isort 2015-06-25 16:55:51 -04:00
José Padilla
83c9136c90 Cleanup import following PEP 8 style guide 2015-06-25 16:10:17 -04:00
Shtarev
e8b23c4789 thin logic 2015-06-25 21:14:00 +03:00
Tom Christie
47765bc429 Merge pull request #3034 from m-vellinga/master
Use get_queryset() for RelatedField choices property
2015-06-25 16:41:43 +01:00
José Padilla
d6e30c75ff Add test and fix for #2704 2015-06-25 09:35:36 -04:00
Tom Christie
321133242f Unsaved file objects may not have an associated URL. 2015-06-24 14:24:19 +01:00
Tom Christie
39ece9bee0 Support allow_blank=False with trim_whitespace=True. 2015-06-24 13:32:54 +01:00
Tom Christie
8329411cc3 Merge pull request #2539 from donewell/permission-detail
add message to custom permission
2015-06-24 11:32:02 +01:00
Tom Christie
8d4c96ecd6 Merge pull request #3012 from jannon/fix-allow-blank-mapping
only include 'allow_blank' on supported fields
2015-06-24 11:01:10 +01:00
Anton Chaporgin
47acec0f9d Made exception message more verbose
This exception helps you to upgrade from 2 -> 3 and since a lot of fields may be in 2 using serializers.Field as parent class, this message should contain at least name of upgraded field to help user to grep and fix the codebase faster.
2015-06-24 11:59:49 +03:00
homm
30b36a594f use PageSizePaginationMixin for CursorPagination
tests for custom page_size in CursorPagination
2015-06-23 19:14:10 +03:00
homm
60656e9182 merge CursorPagination.decode_cursor and _decode_cursor
merge `CursorPagination.encode_cursor` and `_encode_cursor`
2015-06-23 19:00:42 +03:00
homm
9a5373d41c make PageSizePaginationMixin from all this page_size stuff 2015-06-23 18:19:38 +03:00
homm
ab03729b58 allow cursor format customization 2015-06-23 18:00:26 +03:00
José Padilla
83ef64dbf5 Document setting URL_FORMAT_OVERRIDE to None
This also hides the format dropdown from the
Browsable API if URL_FORMAT_OVERRIDE is disabled.

Closes #3057
2015-06-23 07:50:44 -04:00
Tom Christie
1e678791de Merge pull request #2922 from thedrow/patch-11
Cache fields list for to_internal_value and to_representation
2015-06-23 08:53:32 +01:00
Tom Christie
e3b578258a Merge pull request #2769 from nonZero/patch-1
Wrong error message on bad field lookup
2015-06-22 17:04:04 +01:00
Tom Christie
15a386e85d Merge pull request #3045 from paxnovem/issue_3042
Fixed many=False issue on related fields
2015-06-22 15:40:59 +01:00
Markus Korn
b42b16d0e6 compat: invert logic for checking the django version when implementing
RequestFactory.generic()
2015-06-22 16:13:42 +02:00
Markus Korn
06c61fc511 compat: only add compat implementation of RequestFactory.generic() if not
provided by django
2015-06-22 14:05:56 +02:00
Omer Katz
1701ddae35 Fixed formatting of _readable_fields list comprehension to match the formatting of the _writable_fields list comprehension. 2015-06-20 08:51:03 +03:00
Brian Grohe
51cda112f5 Simplified if statement to one line solution
Based on feedback on the pull request, changed solution to
be simpler for issue 3042
2015-06-19 09:21:35 -04:00
José Padilla
5e917789ec Consistent 2 space tabbing and formatting 2015-06-18 09:00:05 -04:00
Brian Grohe
d24990ece2 Fixed many=False issue in related fields
Added check to pop many from kwargs before passing to __init__
Fixed my lint issue from the previous commit
2015-06-17 13:48:34 -04:00
Jannon Frank
2c415d7e03 models.TextFields get mapped to serializers.CharField too 2015-06-16 14:05:19 -07:00
Xavier Ordoquy
139ba7adeb Merge pull request #3006 from osantana/master
Handle invalid characters in "Authorization: token ..." headers
2015-06-16 22:40:15 +02:00
José Padilla
0be6d87fac Fix versioning urls 2015-06-15 16:51:37 -04:00
José Padilla
7f0acbd5a5 Merge pull request #3026 from linovia/feature/format_suffix_patterns_and_trailing_slash
`format_suffix_patterns` is applied before the trailing slash.
2015-06-15 16:38:12 -04:00
Thomas Stephenson
a1e0bae9da Custom serialization of PrimaryKeyRelatedField values
Adds a 'pk_field' parameter which can be used to proxy serialization and
deserialization of arbitrary primary key values.
2015-06-15 04:43:49 +10:00
Kevin Brown
b0889446a5 Merge pull request #3027 from linovia/feature/url_patterns_removal
Remove `django.conf.urls.pattern`
2015-06-11 16:40:40 -04:00
Xavier Ordoquy
1e51230f1b Remove django.conf.urls.pattern as it'll be removed in Django 2.0 2015-06-11 00:45:23 +02:00
Xavier Ordoquy
e7e5946c2e format_suffix_patterns is applied before the trailing slash. 2015-06-11 00:32:05 +02:00
hellysmile
c292b3d132 Fix set_rollback on @transaction.non_atomic_requests. 2015-06-08 07:10:57 +03:00
Ash Hoover
35c28a2a71 Include correct limits in LimitOffsetPagination link urls 2015-06-05 08:56:33 -07:00
Jannon Frank
b0752217ae only include 'allow_blank' on CharField 2015-06-05 02:21:13 -07:00
Xavier Ordoquy
8935db1be9 Merge pull request #3003 from linovia/release/3.1.3
Release 3.1.3
2015-06-04 15:04:55 +01:00
Xavier Ordoquy
9a20609223 Merge pull request #3004 from linovia/translations/3.1.3
Translations updated for 3.1.3
2015-06-04 14:59:32 +01:00
Tom Christie
a3d6601e09 Merge pull request #3008 from linovia/feature/ipaddress-fix
`IPAddressField` improvements
2015-06-04 14:54:50 +01:00
Tom Christie
e8cc948f6b Merge pull request #2695 from delinhabit/refactor-decimalfield
[enhancement] Refactored DecimalField to allow easier subclassing
2015-06-04 14:26:28 +01:00
Xavier Ordoquy
dee5fb5647 Merge remote-tracking branch 'reference/master' into feature/ipaddress-fix
Conflicts:
	docs/api-guide/fields.md
2015-06-04 14:21:33 +01:00
Osvaldo Santana Neto
7ae71deb84 Handle invalid characters in headers 2015-06-03 14:55:34 -03:00
Xavier Ordoquy
051b86e6fd Translations updated for 3.1.3 2015-06-03 17:34:13 +01:00
Xavier Ordoquy
f3dbe9bb2a Bump to version 3.1.3 2015-06-03 16:57:18 +01:00
Xavier Ordoquy
0c66c7cfa6 Merge pull request #3000 from linovia/ovangle/uuid_format2
Add 'format' argument to UUIDField
2015-06-03 12:32:23 +01:00
Tom Christie
b1b47036d7 Use six.text_type for hyperlink names 2015-06-03 11:53:27 +01:00
Tom Christie
99e97fa9d3 Cleanup hyperlink rendering implementation 2015-06-03 11:47:33 +01:00
Tom Christie
ae704eec58 Fix issue with pagination control always displaying 2015-06-03 11:35:03 +01:00
Tom Christie
25bb3b1502 Use chevron control for row linking, rather than hyperlinking first item 2015-06-03 11:15:54 +01:00
Tom Christie
90f2e26679 Add Hyperlink and rendering in admin style renderer 2015-06-03 11:00:38 +01:00
Shtarev
745d8d0004 added comment 2015-06-03 09:04:28 +03:00
Xavier Ordoquy
734bf3cfe6 Merge pull request #2981 from jannon/fix-model-serializer-metadata
Read-Only RelatedField Metadata Failure Test and Fix
2015-06-02 15:09:05 +01:00
Xavier Ordoquy
0c97dd1806 Merge remote-tracking branch 'reference/master' 2015-06-02 13:04:57 +01:00
Xavier Ordoquy
8fa3284620 Merge remote-tracking branch 'reference/master' 2015-06-02 10:24:28 +01:00
Jannon Frank
a97c989248 fix read_only related field metadata 2015-06-02 00:40:00 -07:00
Nicolas Delaby
c2d2417237 Tell default error handler to doom the transaction on error
if `ATOMIC_REQUESTS` is enabled.
2015-06-02 09:19:58 +02:00
Xavier Ordoquy
d79956d40e Translation update. 2015-06-02 00:20:46 +01:00
Xavier Ordoquy
f8eacc5bc0 Merge pull request #2993 from linovia/bug/2894
MultipleChoiceField empties incorrectly on a partial update using multipart/form-data (#2894)
2015-06-01 17:48:20 +01:00
Xavier Ordoquy
14055dd3f4 Merge pull request #2989 from ticosax/duration-field
Add DurationField
2015-06-01 17:38:57 +01:00
Nicolas Delaby
f701ecceb7 Add DurationField 2015-06-01 18:20:53 +02:00
Xavier Ordoquy
5c90bf9cc0 Fix for #2894 thanks to @carljm 2015-06-01 16:13:35 +01:00
Xavier Ordoquy
e3f856ff1d Merge pull request #2975 from sheppard/read-only-nested
can't create nested serializers for unique_together relations
2015-06-01 12:01:40 +01:00
Corentin Smith
fa29f7dd1f Fix minor typo 2015-05-30 17:57:35 +02:00
Xavier Ordoquy
ecb3ba5e1f Merge pull request #2948 from bimusiek/master
Added test ensuring DecimalField accepts `2E+2` as 200 and validates decimal place correctly.
2015-05-29 11:52:33 +02:00
S. Andrew Sheppard
8c7b5fc5c1 pop required extra_kwargs if read_only is set 2015-05-27 21:14:13 -05:00
Tom Christie
95a27a108d Merge pull request #2933 from cancan101/overide_method_action
Set the action on a view when override_method regardless of its None-ness
2015-05-27 09:10:58 +01:00
Petros Moisiadis
192719eed0 Improve coding style
On Tom's suggestion, improve coding style by using a single-line call to getattr() with a default value instead of a multi-line if/else clause.
2015-05-19 20:00:19 +03:00
Petros Moisiadis
a96ebd74b1 Fix flake8 error
Fix flake8 error
2015-05-19 19:48:53 +03:00
Petros Moisiadis
c63ea01f4f Support User model in Django 1.4 that has not a USERNAME_FIELD attribute
Support User model in Django 1.4 that has not a USERNAME_FIELD attribute.
2015-05-19 19:05:50 +03:00
Tom Christie
c916ad6315 Handle create and delete redirects 2015-05-19 16:30:45 +01:00
Petros Moisiadis
43b4ae752d Import get_user_model from compat module
Import get_user_model from compat module to be compatible with older django versions (e.g. 1.4).
2015-05-19 18:00:17 +03:00
Petros Moisiadis
a13075486d Compatibility code for getting user model
Compatibility code for getting user model
2015-05-19 17:57:27 +03:00
Tom Christie
ec8e7f27e7 Fixes for format preservation 2015-05-19 15:49:37 +01:00
Petros Moisiadis
bb002262ac Support basic authentication with custom user models that change username field
Support basic authentication with custom user models with a username field that is not named 'username'.
2015-05-19 17:42:44 +03:00
Michał Hernas
e8c226c2db Fixed lint problems 2015-05-18 16:55:40 +02:00
Michał Hernas
069ea31cfb Added test ensuring DecimalField accepts 2E+2 as 200 and validates
decimal place correctly.
2015-05-18 16:42:24 +02:00
Omer Katz
67ff078388 Renamed the cached fields lists. 2015-05-17 09:54:33 +03:00
David Sanders
b7edd46313 Use simpler dict.get() rather than try/except 2015-05-16 01:01:27 +10:00
tony
0906bf2c08 fix empty and_query 2015-05-15 16:44:12 +03:00
tony
de95598a1e removed using view.model.objects 2015-05-15 13:46:56 +03:00
David Sanders
8e84a9f6d0 Allow invalid outputs to pass through to_representation() for ChoiceField & MultipleChoiceField 2015-05-15 18:59:10 +10:00
Tom Christie
b4d82a0f55 Preserve format query param 2015-05-15 09:18:45 +01:00
tony
c47ec60ea2 no need to do distinct on every loop cycle & add analogue of distinct for oracle users 2015-05-14 17:04:22 +03:00
tony
7813d2fb35 fix DISTINCT for Oracle databases 2015-05-14 13:57:36 +03:00
Xavier Ordoquy
1a8c0b4bfc Merge pull request #2930 from linovia/release/3.1.2
Release 3.1.2
2015-05-14 10:57:33 +02:00
Alex Rothberg
a804d0bd75 set the action when override_method regardless of its None-ness 2015-05-13 22:53:32 -04:00
Tom Christie
ea1145c5aa Merge pull request #2905 from ticosax/django-object-perm-get_queryset
Allow DjangoObjectPermissions to use views that define get_queryset
2015-05-13 13:39:59 +01:00
Nicolas Delaby
031ac2a292 Allow DjangoObjectPermissions to use views that define get_queryset 2015-05-13 14:26:44 +02:00
Xavier Ordoquy
fb4ba3ad3c Bump version to 3.1.2 2015-05-13 09:44:15 +02:00
Tom Christie
9424e59b9e Styling of nested lists/objects in detail view 2015-05-12 16:28:49 +01:00
Tom Christie
a1421cd4a3 Basic formatting for dict and list values 2015-05-12 16:18:45 +01:00
Tom Christie
9a504efd26 Basic formatting for admin cells 2015-05-12 15:21:49 +01:00
Tom Christie
995aa47570 First pass templates for admin style 2015-05-12 14:49:09 +01:00
Marco Vellinga
478b1dbd06 Use get_queryset() for RelatedField choices property instead of self.queryset.all() 2015-05-11 15:28:10 +02:00
Omer Katz
1ee3173583 Cache fields list for to_internal_value and to_representation. 2015-05-09 14:37:49 +03:00
Tom Christie
abcd6f2b9e Merge pull request #2869 from ryangallen/datefield
DateField to_representation can handle str and empty values. Fixes #2656, #2687.
2015-05-01 16:33:43 +01:00
Tom Christie
2eb9107b87 Merge pull request #2798 from Boomerangz/depth-should-reduce
Depth should reduce on nested ModelSerializer classes.
2015-04-27 16:22:22 +01:00
Tom Christie
2394577dc2 Merge pull request #2757 from ekiourk/2630/Raise-exception-when-ModelSerializer-used-with-abstract-model
Raise error when ModelSerializer used with abstract model
2015-04-27 14:47:32 +01:00
José Padilla
9809f4d36a Merge pull request #2809 from aparsons/master
Move ul.breadcrumb margin to bootstrap-tweaks.css
2015-04-26 11:15:50 -04:00
Tom Christie
450c541462 Merge pull request #2868 from ticosax/versioning-header-all
Check AcceptHeaderVersioning with content negotiation in place
2015-04-24 15:19:51 +01:00
Allard Hoeve
9a794beb1e Remove mention of Django's built-in ValidationError in docstring
The `exception_handler` does not actually handle django.core.exceptions.ValidationError, so remove any mention of it.

This closes #2872
2015-04-24 15:37:42 +02:00
Ryan Allen
cbea03c85b DateField to_representation can handle str and empty values. Fixes #2656, #2687. 2015-04-23 19:31:46 -05:00
Nicolas Delaby
63511c03d0 Check AcceptHeaderVersioning with content negotiation in place 2015-04-23 14:19:39 +02:00
Nicolas Delaby
24e9473036 Improve error message. 2015-04-22 11:22:37 +02:00
Nicolas Delaby
6f66798ad3 Prevent empty querysets to raises AssertionError. 2015-04-22 11:13:09 +02:00
Nicolas Delaby
c2e536bfda Tell DjangoModelPermissions to rely on get_queryset first. 2015-04-22 10:18:30 +02:00
Tom Christie
0ca1145456 Merge pull request #2853 from ryangallen/master
Set IntegerField class variable for compiled decimal regex, comment for ...
2015-04-21 16:00:37 +01:00
Ryan Allen
32acc4a72b Set IntegerField class variable for compiled decimal regex, comment for purpose 2015-04-21 10:52:52 -04:00
Tom Christie
605369e2b4 Merge pull request #2807 from iorlas/patch-2
Now it is possible to display viewset w/o paginator
2015-04-21 15:07:11 +01:00
Ryan Allen
1f10a39d31 Match IntegerField validation with Django's, preventing decimal values being stored as ints, fixes #2835.
Match IntegerField validation with Django IntegerField, prevents decimal values being stored as ints, fixes #2835
 On branch master
2015-04-20 11:03:05 -04:00
Adam Parsons
72230a913e Removed color from default 2015-04-18 16:52:20 -05:00
Adam Parsons
324ccc3664 Moved breadcrumb color to bootstrap-tweaks
Moved to color associated with the breadcrumb to the tweaks style sheet.
2015-04-18 16:50:32 -05:00
Tymur Maryokhin
1ddfef1212 Removed deprecated '.model' attribute check 2015-04-12 17:12:01 +02:00
Thomas Stephenson
236b731072 Add 'format' argument to UUIDField
To allow serializations to control the representation format of a
UUID value
2015-04-12 22:07:25 +10:00
Adam Parsons
77460d4bca Moved ul.breadcrumb margin to bootstrap-tweaks.css
When importing other bootstrap themes from sites like bootswatch, the
margin in default.css persists and adds a 70px margin below the header.
This change will remove that margin when users choose to use a different
bootstrap theme.
2015-04-08 20:10:33 -05:00
iorlas
548ac9a65e Now it is possible to display viewset w/o paginator
Since pagination is now included in every generic viewset, we should have ability to disable it and we have it: paginator=None or pagination_class=None. But this piece of code relies on existence of property instead of its value.
2015-04-08 20:32:02 +03:00
Igor Zygin
2d5b4f4cc9 Depth should reduce
Depth should reduce
2015-04-06 10:13:25 +06:00
José Padilla
2e6d39dbae Merge pull request #2754 from bleib1dj/enhancement_dont_require_pk_strictly_related
Enhancement dont require pk strictly related #2745
2015-04-04 22:01:06 -04:00
Andrea Grandi
d6effbf779 Remove unpack_ipv4 parameter 2015-04-02 19:40:17 +01:00
Michael Blatherwick
56ec7b152e Fixed docstring typo 2015-03-27 18:00:19 +00:00
Andrea Grandi
466575bee6 Lowercase the input 2015-03-26 18:14:53 +00:00
Udi Oron
b95ef25cbb Wrong error message on bad field lookup 2015-03-26 20:13:35 +02:00
José Padilla
55ee588f6e Use default reason phrases from HTTP standard.
Closes #2763
2015-03-25 13:27:47 -04:00
Ilias Kiourktsidis
0888f9cfc3 Use _meta instead of Meta on is_abstract_model function 2015-03-25 12:00:20 +00:00
Simon Charette
87208021e2 Metadata should detect null boolean field type. 2015-03-24 21:31:35 -04:00
Devon Bleibtrey
b1c1867b16 Swapping to hassattr logic for pk attribute references in relations 2015-03-23 11:40:33 -04:00
Ilias Kiourktsidis
486f0a9367 Raise error when ModelSerializer used with abstract model 2015-03-23 15:01:19 +00:00
Devon Bleibtrey
7ac3c3fff7 Added enhancement for pk reference in many=True relations 2015-03-23 10:42:42 -04:00
Tom Christie
a90dbe3bd9 Merge pull request #2724 from delinhabit/namespaced-versioning-non-api-reversal
Handle reversal of non-API view_name in HyperLinkedRelatedField
2015-03-23 11:35:21 +00:00
Tom Christie
f7cd7a1c1f Latest translation strings 2015-03-23 11:32:28 +00:00
Tom Christie
e73ddddc3a Merge pull request #2726 from linovia/release/3.1.1
Release notes for 3.1.1 and version bump.
2015-03-23 11:20:23 +00:00
Tom Christie
7872d0acbf Escape tab switching cookie 2015-03-23 11:20:09 +00:00
Tom Christie
166801063d Merge pull request #2743 from maurodoglio/serializer_class-html-renderer
Use `serializer_class` for browsable API display, even on plain APIView.
2015-03-23 09:43:39 +00:00
Devon Bleibtrey
8a58b1a380 Added ability to define backend identification attribute 2015-03-22 13:50:05 -04:00
mdoglio
77c44d8c63 Make BrowsableAPIRenderer use serializer_class when present 2015-03-22 14:36:30 +00:00
mdoglio
d0126b7e31 Set serializer_class on ObtainAuthToken view 2015-03-22 12:35:56 +00:00
mdoglio
fde02ae6eb AuthTokenSerializer - properly render password field 2015-03-22 12:13:28 +00:00
Ion Scerbatiuc
fac2785341 Handling the fallback in reverse 2015-03-19 16:12:28 -07:00
Xavier Ordoquy
164be174ea Release notes for 3.1.1 and version bump. 2015-03-19 23:29:10 +01:00
Ion Scerbatiuc
90280a3437 Handle reversal of non-API view_name in HyperLinkedRelatedField 2015-03-19 14:16:45 -07:00
Di Wu
48e1f151c5 use SAFE_METHODS and make tuple 2015-03-16 22:13:07 -07:00
Tom Christie
2148f32007 Merge pull request #2700 from tomchristie/do-not-paginate-if-page-size-none
Do not paginate if PAGE_SIZE=None
2015-03-16 12:15:50 +00:00
Tom Christie
992971d648 Merge pull request #2631 from Ins1ne/feature/issue-2559
Allow blank/null on radio.html choices
2015-03-16 12:11:33 +00:00
Tom Christie
5cd0714dca Do not paginate if PAGE_SIZE=None 2015-03-16 12:05:31 +00:00
Tom Christie
4cd49d5de3 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2015-03-16 11:57:42 +00:00
Tom Christie
c573e7b4a8 Latest translation strings 2015-03-16 11:57:28 +00:00
Ion Scerbatiuc
022c4d540b Refactored DecimalField to allow easier subclassing 2015-03-14 07:16:17 -07:00
mochawich
2266fec99d fixed missing anchor closing tag
when next_url is none, big part of page html will be rendered under the <a href='#'> as it does not have a closing tag.
2015-03-13 17:03:51 +01:00
Raphaël Barrois
8d0dbc8092 Fix lookup_url_kwarg handling in viewsets.
The ``lookup_url_kwarg`` is intended to set the name of a field in the
URL regexps when using custom ``lookup_field``, but the routers ignore
it altogether.
2015-03-13 01:07:20 +01:00
Dirk Moors
6c1d0d7ed0 Fixed problem with imporing rest_framework.views in apps.py 2015-03-12 16:36:26 +01:00
Carlton Gibson
53e1a2fcb9 Merge pull request #2637 from mdentremont/topic/allow-serialize-unsaved-with-relations
Support serializing unsaved models with related fields.
2015-03-08 20:22:49 +01:00
Aider Ibragimov
7159b31023 update vertical and inline layouts for radio choices 2015-03-07 07:17:22 +03:00
José Padilla
0e21f1c4f4 Merge pull request #2640 from Crystalnix/fix-remove-mergedict
Remove `MergeDict`
2015-03-06 19:17:58 -04:00
Matt d'Entremont
fb58ef043c Add support for serializing models with m2m related fields
- In both ManyRelatedField, provide an empty return when trying to
  access a relation field if the instance in question has no PK (so
  likely hasn't been inserted yet)
- Add relevant tests
- Without these changes, exceptions would be raised when trying to
  serialize the uncreated models as it is impossible to query
  relations without a PK
- Add test to ensure RelatedField does not regress as currently 
  supports being serialized with and unsaved model
2015-03-06 12:50:37 -04:00
Tom Christie
58dfde7fcd Tweaks for cursor pagination and docs 2015-03-06 10:22:32 +00:00
Egor Yurtaev
ce31e36973 Remove MergeDict
The class MergeDict is deprecated and will be removed in Django 1.9
2015-03-05 18:34:42 +06:00
Tom Christie
f7917928c0 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2015-03-04 16:17:44 +00:00
Tom Christie
18cc0230bf Clean up pagination attributes 2015-03-04 15:51:00 +00:00
Aider Ibragimov
c44376c613 remove unnecessary check 2015-03-04 14:17:58 +03:00
Aider Ibragimov
fdd811ec53 Allow blank/null on radio.html choices 2015-03-04 08:22:46 +03:00
Tymur Maryokhin
391b0ae21b Call default.set_context() only on create. Refs #2619. 2015-03-03 17:02:12 +01:00
Aider Ibragimov
e5d95e319e fix FilePathField kwargs for django < 1.5 2015-03-03 16:58:04 +03:00
Aider Ibragimov
04cc1964bd remove dict compehension 2015-03-03 16:45:20 +03:00
Aider Ibragimov
5f8338e276 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework into feature/filepathfield 2015-03-03 14:34:18 +03:00
Aider Ibragimov
c20a0250df add FilePathField, update docs 2015-03-03 14:34:06 +03:00
Aider Ibragimov
de72022f80 Merge branch 'master' of https://github.com/Ins1ne/django-rest-framework into feature/ipaddress 2015-02-28 14:29:27 +03:00
Aider Ibragimov
313b3d7c3b Update ModelSerializer mappings 2015-02-28 10:18:47 +03:00
Aider Ibragimov
4d5eee04a0 add IPAddressField, update docs 2015-02-28 10:11:38 +03:00
Kevin Wood
78e8b1b010 Updated CreateOnlyDefault to call set_context on its default (if callable) 2015-02-27 22:14:15 -08:00
Janusz Harkot
9098856d46 fix DictKey initial value 2015-02-27 19:46:36 +01:00
Ian Foote
32c885c2a0 Ensure validators are new-style classes on python2 2015-02-27 15:22:19 +00:00
Tom Christie
cda74b5997 Merge pull request #2608 from ezheidtmann/dont-swallow-errors-in-callable-sources
Dont swallow errors in callable sources
2015-02-27 09:13:01 +00:00
Evan Heidtmann
e6b06c34c1 Add explanation for this exception mutation 2015-02-26 09:20:17 -08:00
Evan Heidtmann
bdb73d5588 Avoid swallowing exceptions thrown in callable attributes 2015-02-26 09:05:46 -08:00
Tom Christie
c66f23391a Merge pull request #2572 from Ins1ne/master
Fix UniqueTogetherValidator for NULL values
2015-02-26 15:56:18 +00:00
Tom Christie
d219fc0d81 Merge pull request #2602 from dbrgn/fix-1602
List resource not updated between requests
2015-02-26 15:52:54 +00:00
Tom Christie
88cd86c956 Merge pull request #2587 from jpadilla/select-multiple-disabled
Disable select field if no choices available
2015-02-26 12:54:58 +00:00
Tom Christie
03818ed004 Pagination tweaks and docs 2015-02-26 12:48:34 +00:00
Danilo Bargen
86c5fa2401 Force-evaluate querysets (see #2602) 2015-02-25 18:54:47 +01:00
Yannick PEROUX
940cf2e2e0 Remove duplicated code in routers.SimpleRouter 2015-02-25 13:29:07 +01:00
Yannick PEROUX
bdc64d4e73 Fix removal of url_path on @detail_route and @list_route. Fix # #2583
SimpleRouter.get_routes was popping out the url_path kwarg from
list_route and detail_route decorators. This was causing troubles
when the route was re-used, for example if the viewset was
inherited.
2015-02-25 11:54:11 +01:00
Tom Christie
b69032f3a7 Merge pull request #2586 from rense/master
Set field max_length/max_value as actual attribute.
2015-02-21 15:31:02 +00:00
Rense VanderHoek
91416632a8 DecimalField fix
max_value and min_value are not in kwargs
2015-02-21 12:31:37 +01:00
Tymur Maryokhin
7345830c88 Check if sessions are enabled before calling logout. Closes #2545. 2015-02-20 20:12:39 +01:00
Rense VanderHoek
9cb547b85f Validator-fix, added min/max fields to test_metadata 2015-02-20 17:34:49 +01:00
José Padilla
bb8690cfb3 Disable select field if no choices available 2015-02-20 11:43:12 -04:00
Rense VanderHoek
c8609ba652 Set field length/values as actual attributes.
The SimpleMetadata class in metadata.py tries to getattr() attributes
on a field. For this to work, max_length and min_length have to be
actually set as an attribute.
Did the same for min_value and max_value and added those two to
SimpleMetadata.get_field_info
2015-02-20 16:31:12 +01:00
Rubén Durá Tarí
60617f876a Fixes HiddenField being rendered in HTMLFormRenderer 2015-02-20 07:50:15 -04:00
Aider Ibragimov
fe8d95f93e Skip validation of NULL field only if it part of unique_together 2015-02-19 18:03:44 +03:00
Aider Ibragimov
3d85473edf Fix UniqueTogetherValidator for NULL values 2015-02-18 21:00:12 +03:00
Tom Christie
e45e0f0567 Update version 2015-02-17 13:44:42 +00:00
José Padilla
85bf127943 Merge pull request #2567 from carltongibson/18-warning
Move `importlib` fallback into compat.
2015-02-17 08:39:06 -04:00
Tom Christie
dbd2352165 Fixes for latest pep8 updates. Refs #2563. 2015-02-17 10:58:00 +00:00
Carlton Gibson
c5eb5b2201 Move importlib fallback into compat. 2015-02-17 11:55:15 +01:00
Carlton Gibson
daf1d59d0f Adjust importlib import 2015-02-17 11:22:37 +01:00
Tom Christie
4248a8d3fc Merge pull request #2198 from tomchristie/version-3.1
Version 3.1
2015-02-13 13:38:44 +00:00
Tom Christie
c3425accde Fix incorrect HTML parsing for DictField 2015-02-11 14:19:07 +00:00
donewell
9a9a00bff2 simplify argument handling 2015-02-11 11:15:01 +00:00
Xavier Ordoquy
637af1fc14 Merge pull request #2540 from linovia/release/3.0.5
Release/3.0.5
2015-02-10 23:48:38 +01:00
Xavier Ordoquy
59b3fe8f39 Bumped the version to 3.0.5 2015-02-10 22:48:04 +01:00
donewell
9ea615af14 add message to custom permission
change detail to message and update text
2015-02-10 20:11:53 +00:00
Carlton Gibson
3522b69394 Add distinct call in filter_queryset 2015-02-10 10:51:38 +01:00
Tom Christie
fbb21caaaa Merge master 2015-02-09 20:43:50 +00:00
Tom Christie
b2939c157d Fixes for latest version of pep8 2015-02-09 17:43:20 +00:00
Tom Christie
54d82f59ed Py3 compat fix 2015-02-09 17:19:22 +00:00
Tom Christie
d13c807616 Fix misleading AttributeErrors 2015-02-09 17:02:54 +00:00
Tom Christie
0240df1a38 Minor internal API cleanpu 2015-02-06 16:15:10 +00:00
Tom Christie
670723f021 Minor cleanups/improvements to ModelSerializer API 2015-02-06 15:45:02 +00:00
Tom Christie
dec3493d7c Minor cleanup 2015-02-06 14:43:43 +00:00
Tom Christie
a435b1b355 Merge branch 'version-3.1' of git://github.com/jpadilla/django-rest-framework into version-3.1 2015-02-06 14:39:31 +00:00
Tom Christie
1f99612845 Upgrade pending deprecations to deprecations 2015-02-06 13:21:35 +00:00
José Padilla
7f801b9a01 Add trim_whitespace to CharField #2517
If set to `True` then leading and trailing
whitespace is trimmed. Defaults to `True`.
2015-02-06 01:09:19 -04:00
Kaptian
fffde8a63b Update throttling.py
Use pk pseudo attribute for identifying the user (in case the user model is not the default and has a different column name for the unique id)
2015-02-05 13:27:26 -08:00
José Padilla
c696b0ba0c Fix possible nested array fields 2015-02-05 10:12:14 -04:00
José Padilla
720d154c83 Merge remote-tracking branch 'upstream/version-3.1' into version-3.1 2015-02-04 23:34:20 -04:00
José Padilla
48fa77c09e Add child to ListField when using ArrayField 2015-02-04 23:33:59 -04:00
Tom Christie
e1c4513312 Fix NamespaceVersioning with hyperlinked serializer fields 2015-02-05 00:58:09 +00:00
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
Ryan Gaffney
07ad0474c0 Fix compatibility comment regarding OrderedDict 2015-01-06 14:34:36 -08:00
Tom Christie
26ac2656e5 Pass init arguments through to serializer from pagination serializer.
Closes #2355.

Normally a serializer won't need these arguments on __init__, but
if a user has customized __init__ they may expect them to be available.
2015-01-05 16:20:15 +00:00
Tom Christie
949e3b7507 Merge branch 'master' into version-3.1 2015-01-05 15:04:23 +00:00
Tom Christie
6fd33ddea9 Udpate docstring 2015-01-05 15:04:01 +00:00
Tom Christie
49dc037a96 Update docstring 2015-01-05 15:03:09 +00:00
Tom Christie
b6ca7248eb required=False allows omission of value for output. Closes #2342 2015-01-05 14:32:12 +00:00
Tom Christie
6168f60ba8 Merge branch 'master' into version-3.1 2015-01-05 11:02:28 +00:00
Tom Christie
8cf3744971 Ensure no invalid min_length/min_value/max_value arguments. Closes #2369. 2015-01-05 10:52:18 +00:00
Craig Blaszczyk
6fb37207d1 add missing period; update generated translations 2015-01-02 11:11:13 +00:00
Craig Blaszczyk
a90ba2bc11 update error messages for language and consistency 2015-01-02 11:08:31 +00:00
Craig Blaszczyk
faf76a4b75 fix spelling & grammar errors 2015-01-02 11:08:09 +00:00
Craig Blaszczyk
0b8a83bd62 update internationalisation instructions to prevent symlinking; add base .po file 2015-01-02 11:08:04 +00:00
Kyle Valade
a7479721c8 First pass at refactoring get_field_info in utils.model_meta 2014-12-29 00:35:00 -08:00
Tom Christie
5d8c45681a Update copryright for 2015. Closes #2247. 2014-12-28 18:48:42 +00:00
Tom Christie
efa5942ce1 Support namespaced router URLs with DefaultRouter. 2014-12-28 12:02:52 +00:00
Tom Christie
ef2eff2aba Only pass max_length for CharField. Closes #2317. 2014-12-28 11:07:38 +00:00
Tom Christie
c2e00a075c Paginated serializers should get context. 2014-12-26 15:25:13 +00:00
Tom Christie
9f9b9f8944 Merge pull request #2340 from shtouff/fix-htmlform-textarea
Use textarea input for 'models.TextField'.
2014-12-24 14:44:32 +00:00
Andrew Seier
35768344db Remove ‘/‘ from inside variable block {{ }}
manage.py compress —force causes a warning here.
2014-12-23 12:12:22 -08:00
Andrew Seier
399cb165b0 Remove commented code (warning during compression)
manage.py compress —force causes a warning here.
2014-12-23 12:11:45 -08:00
Remi Paulmier
6c5ff71278 fix the way to use textarea rather than input with models.TextField 2014-12-22 18:05:07 +01:00
Tom Christie
e4c7c10b00 Merge pull request #2331 from tomchristie/use-custom-list-serializer-for-pagination
Use custom ListSerializer for pagination if required.
2014-12-20 16:42:39 +00:00
Tom Christie
ffb8d568e0 Merge pull request #2330 from tomchristie/better-blank-html-behavior
Better behavior with null and '' for blank HTML fields.
2014-12-20 16:40:27 +00:00
Tom Christie
03c4eb1130 Use custom ListSerializer for pagination if one is specified on the serializer. 2014-12-20 16:32:07 +00:00
Tom Christie
77e3021fea Better behaviour with null and '' for blank HTML fields. 2014-12-20 16:26:51 +00:00
Tom Christie
2a1485e009 Final bits of docs for ModelSerializer fields API 2014-12-19 21:32:43 +00:00
Tom Christie
d109ae0a2e Merge pull request #2010 from tanwanirahul/master
Ability to customize method names without creating a custom router
2014-12-19 16:09:01 +00:00
Tom Christie
62f78dfbf1 Copy validators lists on instantiation. 2014-12-19 15:50:29 +00:00
Tom Christie
75e81b8254 build_*_field methods 2014-12-19 15:35:52 +00:00
Tom Christie
f72928ea98 build_field, build_final_kwargs 2014-12-19 15:09:57 +00:00
Tom Christie
94883ae7cd Merge branch 'version-3.1' into model-serializer-api 2014-12-19 14:53:21 +00:00
Tom Christie
3fc441059d Merge branch 'master' into version-3.1 2014-12-19 14:53:10 +00:00
Tom Christie
80bacc5fb0 depth should reduce by one on each nesting level. Closes #2287. 2014-12-19 14:52:53 +00:00
Tom Christie
4a112fc3a6 Clean up 2014-12-19 14:51:45 +00:00
tanwanirahul
92ebeaa040 Change decorator attribute name to url_path per suggestions 2014-12-19 19:52:59 +05:30
Tom Christie
caa1318124 get_uniqueness_field_options first pass 2014-12-19 13:13:20 +00:00
Tom Christie
1a84943a00 get_extra_kwargs 2014-12-19 12:27:50 +00:00
Tom Christie
6d907cde9a get_field_names, get_default_field_names 2014-12-19 12:18:40 +00:00
Tom Christie
ba753a7536 Merge branch 'version-3.1' into model-serializer-api 2014-12-19 11:53:26 +00:00
Tom Christie
435aef7738 Merge branch 'master' into version-3.1 2014-12-19 11:53:05 +00:00
Tom Christie
5830f7e138 get_unique_together_validators and get_unique_for_date_validators 2014-12-19 10:15:36 +00:00
Tymur Maryokhin
d60ecfc498 Assert fields in exclude are model fields 2014-12-18 16:03:15 +01:00
Tom Christie
a68d9331fc YAML encoder fix for 3.0 serializers. 2014-12-18 12:17:46 +00:00
Tom Christie
c8d88c8c8a Merge branch 'master' into version-3.1 2014-12-18 11:21:25 +00:00
Tom Christie
87ac64e41b Fixes for behavior with empty HTML fields. 2014-12-18 10:36:52 +00:00
Tom Christie
15c2001de0 Merge pull request #2297 from tomchristie/version-3.0.2
Version 3.0.2
2014-12-17 21:04:08 +00:00
Tom Christie
bbd55fafc5 Version 3.0.2 2014-12-17 15:58:30 +00:00
Tom Christie
ad6533e554 Merge pull request #2294 from tomchristie/fix-empty-html-values-with-default
Fix empty HTML values when a default is provided.
2014-12-17 15:24:01 +00:00
Tom Christie
3fff5cb6e0 Fix empty HTML values when a default is provided. 2014-12-17 15:13:48 +00:00
Tom Christie
c6137bbf5a Serializer API restrictions. 2014-12-17 14:14:51 +00:00
Tom Christie
426547c61c str() -> six.text_type(). Closes #2290. 2014-12-17 13:39:35 +00:00
Tom Christie
65fc0d0f77 Ensure request.auth is available to response middleware. 2014-12-17 13:22:52 +00:00
Tom Christie
7fbf5b0e6b Merge pull request #2155 from martinmaillard/set-user-on-wrapped-request
Set authenticated user on wrapped request
2014-12-17 13:12:01 +00:00
Tom Christie
05a6eaec8a More docs, plus 'ALLOWED_VERSIONS' setting. 2014-12-17 12:41:46 +00:00
Tom Christie
70bd3a32f7 Minor comment tweak 2014-12-16 20:01:01 +00:00
Tom Christie
fe9647ce92 AcceptHeaderVersioning to return unicode strings. 2014-12-16 16:37:32 +00:00
Tom Christie
4e91ec6133 Added NamespaceVersioning 2014-12-16 16:14:08 +00:00
Tom Christie
7cfa0e0306 Merge lateset version-3.1 2014-12-16 15:35:25 +00:00
Tom Christie
74483338ab Merge branch 'master' into version-3.1 2014-12-16 15:34:28 +00:00
Tom Christie
6e51e4f5cd Versioning first pass 2014-12-16 15:34:19 +00:00
Tom Christie
a15db353bf Minor test cleanup 2014-12-15 13:18:39 +00:00
Tom Christie
b6ee784240 Merge master 2014-12-15 12:18:55 +00:00
Tom Christie
af53e34dd5 Merge pull request #2279 from tomchristie/fix-serializer-repr-unicode-bug
Use unicode internally everywhere for 'repr'.
2014-12-15 12:04:46 +00:00
Tom Christie
dc66cce16d Remove erronous print 2014-12-15 12:01:29 +00:00
Tom Christie
72e08a3e8b Use unicode internally everywhere for 'repr' 2014-12-15 11:55:17 +00:00
Tom Christie
488b13e7b8 Better messaging for 'Field.to_representation'. Closes #2271. 2014-12-15 09:29:54 +00:00
Tom Christie
8934e61b67 Merge branch 'jpadilla-exception-handler-context' into version-3.1 2014-12-15 09:20:27 +00:00
Tom Christie
d232c5739e Merge branch 'exception-handler-context' of git://github.com/jpadilla/django-rest-framework into version-3.1 2014-12-15 09:19:53 +00:00
Tom Christie
4778463e32 Merge branch 'master' into version-3.1 2014-12-15 09:18:11 +00:00
Tom Christie
d22c0007b3 Merge branch 'exception-handler-context' of git://github.com/jpadilla/django-rest-framework into jpadilla-exception-handler-context 2014-12-15 09:13:27 +00:00
Tom Christie
5e7c9687c7 First pass at serializer repr bug 2014-12-15 09:13:02 +00:00
José Padilla
4ebd8770b9 Update excepteion_handler signature 2014-12-14 20:47:33 -04:00
José Padilla
26c223a34f Add get_exception_handler_context() 2014-12-14 16:43:58 -04:00
José Padilla
89e9fc98d6 Reuse exception_handler variable throughout 2014-12-14 15:20:44 -04:00
José Padilla
fd003fcefa Add pending deprecation warning message 2014-12-14 15:03:20 -04:00
José Padilla
e8c0766568 Support handlers with and without context 2014-12-13 20:54:35 -04:00
José Padilla
0d109c90a7 Add context to exception handler #2236
Same context as renderers which include: the view,
args, kwargs, and request.

This provides enough contextual information to the
exception handlers to handle errors better.

In a use case like #1671, a custom handler
would allow Sentry to log the request properly.
2014-12-13 18:18:00 -04:00
Tom Christie
dd712a1c26 Merge pull request #2267 from tomchristie/better-misconfigured-serializer-errors
Better errors when serializer has incorrectly named field.
2014-12-13 15:08:36 +00:00
Tom Christie
aa571abb20 Better errors when serializer has incorrectly named field. 2014-12-13 14:58:04 +00:00
Tom Christie
c0b9115bec Improve check for nested writes 2014-12-13 14:17:24 +00:00
Tom Christie
baaa356489 Merge master 2014-12-12 15:37:43 +00:00
Tom Christie
78312d44d1 Client.logout() also clears any force_authenticate 2014-12-12 13:13:08 +00:00
Peter Schmidt
fa1ef33bfc Update CharField default min_length message. 2014-12-12 11:16:29 +11:00
Tom Christie
73a80564e2 Merge pull request #2251 from linovia/version/3.0.1
Release notes & version 3.0.1
2014-12-11 15:08:07 +00:00
Xavier Ordoquy
4aaab08e13 Version 3.0.1 2014-12-11 00:09:11 +01:00
Tom Christie
313c36faca Merge pull request #2242 from tomchristie/hyperlinked-pk-optimization
Hyperlinked PK optimization.
2014-12-10 22:19:46 +00:00
Tom Christie
1e336ef30d Move comment 2014-12-10 22:10:45 +00:00
Tom Christie
9d3810f313 Drop get_iterable() 2014-12-10 22:09:24 +00:00
Tom Christie
ca7b1f6d51 Optimizations play nicely with select_related, prefetch_related 2014-12-10 21:09:45 +00:00
Tom Christie
fb313f8098 Merge pull request #2241 from IvanAlegre/patch-1
Update serializers.py
2014-12-10 09:27:58 +00:00
Tom Christie
81d0b748b4 Improve field lookup behavior for dicts/mappings. Closes #2244. Closes #2243. 2014-12-10 09:16:01 +00:00
J. Iván Alegre
428630c197 Fix trailing space 2014-12-10 10:13:15 +01:00
J. Iván Alegre
9161e5a927 Remove unnecessary hasattr all and add comment for nested relationships 2014-12-10 09:19:27 +01:00
Tom Christie
720a37d3de Hyperlinked PK optimization. Closes #1872. 2014-12-09 17:28:56 +00:00
J. Iván Alegre
59470667db Take in care that input data in serializer can be a Manager 2014-12-09 17:49:07 +01:00
Tom Christie
7d70e56ce3 Copy model field validators, don't reuse the same list. 2014-12-09 16:25:10 +00:00
Julio Iván Alegre
8d6b0b1f2d Update serializers.py
Treat the input queryset as it comes (maybe it has been changed in a higher level). Evaluating .all() does nothing if or if not is a queryset.
2014-12-09 16:13:18 +01:00
José Padilla
afe7ed9333 Add allow_blank for ChoiceField #2184
This makes a ChoiceField optional in HTML if
model field has `blank=True` set.
2014-12-09 09:25:06 -04:00
Tom Christie
41bfdc0732 Don't use 'instance' argument in rendering form for paginated data. Closes #2205. 2014-12-08 21:56:06 +00:00
Tom Christie
4034793383 Added missing translation markers in realtions.py. Closes #2231. 2014-12-08 15:13:59 +00:00
Tom Christie
eee02a47d9 Added ListSerializer.validate(). Closes #2168. 2014-12-08 14:56:45 +00:00
Loic Bistuer
b90f4228b2 Ported a couple of templates to Bootstrap 3.x. 2014-12-08 09:06:52 +07:00
Loic Bistuer
ff02a0af9c Fixed display issues with tooltips. 2014-12-08 09:06:52 +07:00
Xavier Ordoquy
a257b04928 Fix missing validated_data in raise_errors_on_nested_writes (#2221) 2014-12-07 12:12:40 +01:00
Tom Christie
544967f36e Test tweaks 2014-12-05 14:15:58 +00:00
Tom Christie
c611a2c1fe Merge pull request #2213 from BrickXu/master
Raise error if `fields` on serializer is not a list of strings.
2014-12-05 14:00:59 +00:00
Tom Christie
88900a0844 Minor tweaks 2014-12-05 13:58:39 +00:00
Tom Christie
ca74fa989d Better serializer errors for nested writes. Closes #2202 2014-12-05 13:50:28 +00:00
Tom Christie
65d6cba75f Merge pull request #2200 from maryokhin/master
Clean up compat code
2014-12-05 13:14:14 +00:00
Tom Christie
de4ef6e394 Merge pull request #2195 from tomchristie/tomchristie-escape-u2028-u2029-json
Escape \u2028 and \u2029 in JSON output.
2014-12-05 12:35:24 +00:00
BrickXu
d68c614504 Add validation for fields & exclude type. 2014-12-05 14:51:39 +08:00
Tymur Maryokhin
d9930181ee Removed unused imports, pep8 fixes, typo fixes 2014-12-05 00:29:28 +01:00
Tymur Maryokhin
45dc44b203 Merge branch 'master' of github.com:tomchristie/django-rest-framework 2014-12-04 20:57:27 +01:00
Tymur Maryokhin
001884a192 Removed unused compat code 2014-12-04 16:06:43 +01:00
Tymur Maryokhin
95af92ca01 Removed custom urlparse compat 2014-12-04 15:47:42 +01:00
Tom Christie
e8cbf41bd9 Merge pull request #2172 from kchange/master
Added missing default style for FileField
2014-12-04 07:47:53 +00:00
Tymur Maryokhin
d54c67d79d Removed custom StringIO, force_text, smart_text compat 2014-12-04 03:11:42 +01:00
Tymur Maryokhin
09e59f2686 Removed custom python_2_unicode_compatible. Closes #2183 2014-12-04 02:50:25 +01:00
Tom Christie
3d6620c72a Merge 2014-12-03 23:24:06 +00:00
Tom Christie
f74e52b31e Merge 2014-12-03 23:14:58 +00:00
Tom Christie
6369f92125 Merge 2014-12-03 23:12:52 +00:00
Tom Christie
f221b737a1 Merge pull request #2197 from mtschammer/mtschammer-validated_attrs-rename
Renamed validated_attrs to validated_data to be more in line with other code
2014-12-03 23:01:30 +00:00
Kevin Brown
66bce38b59 Merge pull request #2196 from tomchristie/tomchristie-improve-update-nested-validation
Improve checks for nested creates and updates.
2014-12-03 17:57:47 -05:00
Martin Tschammer
ab25d706c7 Renamed validated_attrs to validated_data to be more in line with other similar code. 2014-12-03 23:52:35 +01:00
Tom Christie
e1d98f7756 Improve nested update and create testing. 2014-12-03 22:45:44 +00:00
Tom Christie
f2dd05a6e6 Improved nested update test in update().
Closes #2194.
2014-12-03 22:43:40 +00:00
Tom Christie
23fa6e54ce Escape \u2028 and \u2029 in JSON output.
Closes #2169.
2014-12-03 22:33:34 +00:00
Tom Christie
c5a2d501e5 Merge pull request #2175 from BrickXu/fix_2171
Not allow to pass an empty actions to viewset.as_view()
2014-12-03 08:53:04 +00:00
Tom Christie
33096a1de6 BindingDict inherits from collections.MutableMapping. Closes #2135. 2014-12-02 15:15:21 +00:00
Tom Christie
0359e9250d FileUploadParser. Raising StopFutureHandlers removes any handlers not yet run for the active set. Closes #2109. 2014-12-02 13:52:46 +00:00
Tom Christie
76ac641fbd Minor tweaks for helpful message on Model.objects.create() failure. 2014-12-02 13:04:49 +00:00
Tom Christie
54b7b32818 Merge branch 'fixes/2013' of git://github.com/gregmuellegger/django-rest-framework into gregmuellegger-fixes/2013 2014-12-02 12:46:47 +00:00
Tom Christie
79e18a2a06 Raise assertion error if calling .save() on a serializer with errors. Closes #2098. 2014-12-02 09:27:40 +00:00
BrickXu
53f52765fc Not allow to pass an empty actions to viewset.as_view(). Refs issue #2171 2014-12-02 17:07:55 +08:00
Tom Christie
270c7acdd7 Minor validtors tweak 2014-12-01 11:59:04 +00:00
Tom Christie
22c5b863bc More descriptive docstring on ModelSerializer 2014-12-01 11:37:38 +00:00
Tom Christie
b9503cd603 Support Django's core ValidationError for backwards compat. Refs #2145. 2014-12-01 10:48:45 +00:00
José Padilla
7f9dc73672 Remove XML support from core 2014-11-29 14:57:51 -04:00
José Padilla
fe745b9616 Remove JSONP support from core 2014-11-29 14:55:33 -04:00
José Padilla
731c8421af Remove YAML support from core 2014-11-29 14:43:05 -04:00
Martin Maillard
85c96bb574 Set user on wrapped request 2014-11-28 21:12:27 +01:00
José Padilla
0cc990792c Merge branch 'version-3.1' into oauth_as_package
Conflicts:
	requirements-test.txt
	rest_framework/compat.py
	tests/settings.py
	tox.ini
2014-11-28 12:14:40 -04:00
Tom Christie
08c727add3 @api_view defaults to allowing GET 2014-11-28 15:55:02 +00:00
Tom Christie
3a5b3772fe Use ImproperlyConfigured when model meta lookup fails 2014-11-28 15:36:04 +00:00
Tom Christie
6fbd23ab34 Merge pull request #2086 from beck/doug/blow-up-with-bad-models
Ensure _resolve_model does not return None
2014-11-28 15:31:51 +00:00
Tom Christie
8d989bb16d Merge pull request #2143 from linovia/bugfix/1850
Bugfix for #1850
2014-11-28 15:01:56 +00:00
Tymur Maryokhin
d9a09f7826 Removed unused import 2014-11-28 13:33:07 +01:00
Tymur Maryokhin
0539b1be01 Update token auth view. Closes #2151. 2014-11-28 12:27:05 +01:00
Tom Christie
d4b8e356b9 Merge branch '3.0-docs' 2014-11-28 09:57:02 +00:00
Tom Christie
34ca8cd2a5 Moar docs. Amazing. 2014-11-28 09:56:44 +00:00
Tom Christie
d2d7e1dfde Drop Field.validate 2014-11-27 16:41:53 +00:00
Tom Christie
6b2033f789 Drop transform_<field_name> 2014-11-27 16:40:58 +00:00
Tom Christie
8579222cbd Fix for nested attribute lookups where one is a callable 2014-11-27 15:14:11 +00:00
Tom Christie
1ffe4857ec Support callable attributes in dotted source. Closes #2142. 2014-11-27 08:10:52 +00:00
Xavier Ordoquy
f5e5ed0077 Merge remote-tracking branch 'reference/master' into bugfix/1850 2014-11-26 16:36:56 +01:00
Tom Christie
786cab705a Tweak to 3.0 relationship docs 2014-11-26 11:38:48 +00:00
Tom Christie
b4550c65dd Docstring for 'many_init' 2014-11-26 11:30:28 +00:00
Tom Christie
2e726e22a3 request.DATA, request.FILES -> request.data 2014-11-25 11:42:43 +00:00
Tom Christie
06fd63dade Don't use default_empty_html value for partial updates. Closes #2118. 2014-11-25 11:14:28 +00:00
Tom Christie
fd980be39b Documentation in 'many_init' docstring. Refs #2120. 2014-11-25 10:39:58 +00:00
Tom Christie
ecc26f6cb1 Style tweaks to login template. 2014-11-25 09:07:25 +00:00
Tom Christie
735d2257b4 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2014-11-25 08:59:59 +00:00
Tom Christie
bdacb66244 Lowercase HTML label tag. Refs #2121. 2014-11-25 08:59:45 +00:00
Andreas Bernacca
2ec0e7417f removed the whole footer section 2014-11-21 22:45:28 +01:00
Andreas Bernacca
fe9a758d7e remove sponsored by dabapps 2014-11-21 22:15:43 +01:00
Tom Christie
5b671cb515 Fix rendering HTML form when API error raised. Closes #2103. 2014-11-20 16:14:51 +00:00
Tom Christie
1aa58d16be Py3 fix - .items is not a list. 2014-11-20 14:26:40 +00:00
Tom Christie
6ec96d0bac Resolve PUT and POST buttons in browsable API 2014-11-20 13:43:38 +00:00
Tom Christie
9c6bead8b6 Add --- null option for selects. Closes #2096. 2014-11-20 12:38:08 +00:00
Tom Christie
6794b3380a Fixes for defaulting empty HTML fields to '', None, or empty. 2014-11-20 12:15:33 +00:00
Tom Christie
7d417fc678 Make _force_text_recursive private. 2014-11-20 12:02:58 +00:00
Tom Christie
bde7255413 Fix non-determanistic default bug. Closes #2099. 2014-11-20 09:30:49 +00:00
Tom Christie
40b1ea919b Fix non-determanistic unique constraint mapping. Refs #2092. 2014-11-19 14:51:49 +00:00
Tom Christie
8516281078 Minor fix for #2092. 2014-11-19 14:40:30 +00:00
Tom Christie
8586290df8 Apply defaults and requiredness to unique_together fields. Closes #2092. 2014-11-19 13:55:10 +00:00
Tom Christie
6cb6510132 Use translatable error strings. Refs #2063. 2014-11-19 12:15:05 +00:00
Tom Christie
e49d22dbda Allow blank choices to render. Closes #2071. 2014-11-19 09:31:26 +00:00
Tom Christie
f573aaee4e List serializer no explicitly renders as 'not supported for HTML input' 2014-11-18 17:25:05 +00:00
Tom Christie
c0d356edaa Fix byte decode error rendering 'display_name' with OPTIONS. Closes #2084 2014-11-18 15:42:52 +00:00
Tom Christie
080bd3d24e Add comment ref #2089 2014-11-18 15:38:31 +00:00
Tom Christie
084354d3eb Only pass instance to form for PUT and PATCH. Closes #2073. 2014-11-18 15:11:40 +00:00
Tom Christie
5e74f02d61 Note removal of 'save_object' and fail loudly if it exists 2014-11-18 14:49:00 +00:00
Doug Beck
67735687b2 Ensure _resolve_model does not return None 2014-11-18 01:26:23 -05:00
Tom Christie
0f508c5821 Docs for advanced default argument usage. Closes #1945 2014-11-17 18:36:32 +00:00
Tom Christie
5f580cad52 Remove class='form-control' for file inputs. Closes #2065. 2014-11-17 18:17:44 +00:00
Gregor Müllegger
ad060aa360 More helpful error message when default .create fails. Closes #2013. 2014-11-15 15:29:52 +01:00
Eleni Lixourioti
1aa7783095 Merge branch 'version-3.1' of github.com:tomchristie/django-rest-framework into oauth_as_package
Conflicts:
	.travis.yml
2014-11-15 14:27:41 +00:00
Tom Christie
4e03518438 required=False for nullable relationships 2014-11-13 23:30:42 +00:00
Tom Christie
7394dcec9e ReturnList and ReturnDict wrapped at nicer point 2014-11-13 23:05:44 +00:00
Tom Christie
cb672a0ecb Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2014-11-13 22:16:53 +00:00
Tom Christie
992330055e Refactor many 2014-11-13 21:11:13 +00:00
Tom Christie
78a741be27 Split out .create and .update on ListSerializer 2014-11-13 20:24:48 +00:00
Tom Christie
fd97d9bff8 Use select inputs for relationships. Closes #2058. 2014-11-13 19:35:03 +00:00
Tom Christie
ea98de9b88 Model fields with .blank or .null now map to required=False. Closes #2017. Closes #2021. 2014-11-13 19:28:57 +00:00
Kevin Chang
dbb435ca31 Added missing default style for FileField 2014-11-12 12:46:09 -08:00
Tom Christie
e70b82b6c8 Update html.py 2014-11-12 15:38:39 +00:00
Tom Christie
1838e18aee Update html.py 2014-11-12 15:38:05 +00:00
Kevin London
9521b69711 #2054: Update exceptions to allow custom detail
This addresses the changes requested in #2054 and allows for custom messages that do not necessarily require a string formatter be present in the detail message.
2014-11-10 11:08:39 -08:00
Tom Christie
62ce653c61 Update fields.py 2014-11-10 14:44:26 +00:00
Tom Christie
fd7db776ad Bring UniqueValidator implementation in line with other uniquness validators. 2014-11-10 12:32:03 +00:00
Tom Christie
f387cd89da Uniqueness constraints imply a forced 'required=True'. Refs #1945 2014-11-10 12:21:27 +00:00
Tom Christie
51d86a6505 Support dotted source on relational fields 2014-11-07 16:05:07 +00:00
Tom Christie
3e878a3207 Fix initial data on serializers to reflect writable fields 2014-11-07 15:38:27 +00:00
Tom Christie
02844a1507 Fix up fieldset templates. Closes #2039 2014-11-07 15:22:17 +00:00
Tom Christie
4e2627736f Merge branch 'master' into dont-deserialize-twice 2014-11-07 14:14:18 +00:00