Commit Graph

2545 Commits

Author SHA1 Message Date
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