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
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