Artem Muterko
ebd840c19f
Revert several tests
2017-01-12 22:53:01 +02:00
Artem Muterko
c686749eef
Throttle tests fix ( #4810 )
2017-01-12 17:53:48 +00:00
Artem Muterko
b4a9a1b9a3
Throttle tests ( #4807 )
2017-01-12 17:03:32 +00:00
Artem Muterko
9a6352789e
Refactor request tests style
2017-01-12 18:41:27 +02:00
Artem Muterko
bd86104861
Refactor reverse tests style
2017-01-12 18:41:16 +02:00
Artem Muterko
401ab54275
Refactor schemas tests style
2017-01-12 18:33:24 +02:00
Asif Saifuddin Auvi
8fcb8d6350
converted metadata test asserts to pytest ( #4806 )
2017-01-12 08:21:15 +00:00
Artem Muterko
dd11bd42a2
Add remaining tests for SimpleRateThrottle ( #4803 )
2017-01-11 20:39:48 +00:00
Asif Saifuddin Auvi
14baf7eb7a
converted serializer bulk update test asserts to pytest ( #4805 )
2017-01-11 20:38:32 +00:00
Artem Muterko
06afe6b1bf
Convert tests to pytest style
2017-01-11 21:13:30 +02:00
Artem Muterko
66ffaaf5d3
Add more tests for Base and SimpleRate throttles ( #4802 )
2017-01-11 09:42:25 +00:00
Artem Muterko
e9d371f29a
Add couple of basic tests for SimpleRateThrottle ( #4800 )
2017-01-09 20:43:54 +00:00
Artem Muterko
b6b2c4bb5b
Renderer tests ( #4791 )
2017-01-08 16:33:43 +00:00
Artem Muterko
99d57df990
Convert encoders tests to pytest style ( #4796 )
2017-01-08 16:10:47 +00:00
Artem Muterko
a5fcf10c0e
Raise RuntimeError when trying to encode coreapi objects ( #4790 )
2017-01-06 22:32:13 +00:00
José Padilla
559a0a89fc
Merge pull request #4779 from auvipy/pyts0
...
converted throttling tests asserts to pytest
2017-01-04 10:31:44 -05:00
Asif Saifuddin Auvi
88a910ebc8
converted negotiation tests asserts to pytest
2017-01-04 18:58:01 +06:00
Asif Saifuddin Auvi
6ca7f76c67
Merge branch 'master' into pyts0
2017-01-04 18:43:55 +06:00
Asif Saifuddin Auvi
43677b8baf
flake8 fix
2017-01-04 17:54:14 +06:00
Asif Saifuddin Auvi
8fa5846e51
conerted multi-table-inheritence test asserts to pytest
2017-01-04 17:46:55 +06:00
Asif Saifuddin Auvi
a7d33f4519
conerted throttling tests asserts to pytest
2017-01-04 15:59:21 +06:00
Asif Saifuddin Auvi
7874bcabe9
convert some more test asserts to pytest ( #4778 )
...
* converted urlpatterns test asserts to pytest
* converted test utils asserts to pytest
* removed extra newlines
2017-01-04 09:13:32 +00:00
Ryan P Kilby
11fd3bf108
Add disabling of declared fields on serializer subclasses ( #4764 )
...
* Add test for disabling declared fields on child
* Check that declared base field is not in attrs
* Update meta inheritance docs to include serializer
* Test that meta fields cannot be declared as None
* Add docs example for declarative field disabling
2017-01-03 21:14:19 +00:00
Matthew Medal
93fe531dea
Breadcrumb view name suffix fix ( #4750 )
...
* add failing testcase for breadcrumb suffixes missing when using ModelViewSets
* fix get_breadcrumbs to honor overridden get_view_name and keep viewset suffixes
* ensure suffixes are appended in breadcrumb util
2016-12-20 22:19:00 +00:00
Asif Saifuddin Auvi
841a91e950
fix authentication_test pytest failure
2016-12-06 00:47:58 +06:00
Asif Saifuddin Auvi
85807e1958
converted authentication_test asserts to pytest
2016-12-06 00:33:13 +06:00
Asif Saifuddin Auvi
932d04a4be
Browsable API tests asserts to pytest ( #4725 )
2016-12-01 16:17:36 +00:00
Asif Saifuddin Auvi
4f6c326a99
converted remaining unittes asserts of fields test to pytest ( #4724 )
2016-11-30 12:52:32 +00:00
Asif Saifuddin Auvi
1a741bb2a2
converted asserts of exceptions test to pytest ( #4723 )
2016-11-30 11:12:01 +00:00
Asif Saifuddin Auvi
7e8b01dbd2
converted asserts of encoders test to pytest
2016-11-30 16:45:48 +06:00
Asif Saifuddin Auvi
9a3f8d9a9c
converted asserts of descriptions test to pytest
2016-11-30 16:42:43 +06:00
Asif Saifuddin Auvi
a9b6c97485
converted asserts of decorators test to pytest
2016-11-30 16:24:48 +06:00
Asif Saifuddin Auvi
504f4b44c6
converted asserts of atomic requests test to pytest
2016-11-30 16:17:30 +06:00
Asif Saifuddin Auvi
e03d88ced7
more pytest style assert ( #4719 )
2016-11-30 09:48:33 +00:00
Asif Saifuddin Auvi
10b5f36fec
added fixes
2016-11-30 12:35:34 +06:00
Asif Saifuddin Auvi
f5a900a404
some reverts to fix test
2016-11-30 10:01:37 +06:00
Asif Saifuddin Auvi
a5bb9825f3
attempt to fix test again
2016-11-30 09:56:22 +06:00
Asif Saifuddin Auvi
4a0829d6ec
attempt to fix test
2016-11-30 02:08:37 +06:00
Asif Saifuddin Auvi
27641e07b5
converted test asserts of generics-test to pytest
2016-11-30 01:13:21 +06:00
Ryan P Kilby
6498766749
Fix django deprecation warnings ( #4712 )
2016-11-29 09:49:18 +00:00
Asif Saifuddin Auvi
9f4c9691f4
converted filters tests asserts to pytest style ( #4711 )
2016-11-28 14:31:27 +00:00
Asif Saifuddin Auvi
42d6098c74
converted primary key relations test asserts to pytest ( #4709 )
2016-11-28 09:43:48 +00:00
Asif Saifuddin Auvi
cd3fd36d0e
converted generic relations assert to pytest style
2016-11-27 23:55:09 +06:00
Asif Saifuddin Auvi
5ec223bca0
converted validators and write_only_fields test to pytest style ( #4697 )
2016-11-23 14:05:34 +00:00
Asif Saifuddin Auvi
4b59ec27fa
convert tests asserts to pytest style ( #4696 )
2016-11-23 13:17:00 +00:00
Tom Christie
24791cb353
Invalidate any existing prefetch cache on PUT requests. ( #4668 )
2016-11-11 09:44:35 +00:00
Andrzej Pragacz
45e058d7ba
Fix unhandled Http404, PermissionDenied in schema generation ( #4645 ) ( #4646 )
2016-11-02 09:04:01 +00:00
Kennedy Mwenja
7038571157
Enable cursor pagination of value querysets. ( #4569 )
...
To do `GROUP_BY` queries in django requires one to use `.values()`
eg this groups posts by user getting a count of posts per user.
```
Posts.objects.order_by('user').values('user').annotate(post_count=Count('post'))
```
This would produce a value queryset which serializes its result
objects as dictionaries while `CursorPagination` requires a queryset
with result objects that are model instances.
This commit enables cursor pagination for value querysets.
- had to mangle the tests a bit to test it out. They might need
some refactoring.
- tried the same for `.values_list()` but it turned out to be
trickier than I expected since you have to use tuple indexes.
2016-11-01 10:42:01 +00:00
Nicolas Delaby
97d848413e
Fix support of get_full_details() for Throttled exceptions ( #4627 )
...
Since `str` objects are immutable, appending to existing `str` creates
in fact a new `str` instance.
Thus `ErrorDetail.detail.code` attribute is lost after `str` concatenation operation.
2016-11-01 10:38:56 +00:00
Kieran Spear
98df932194
Fix FilterSet proxy ( #4620 )
2016-11-01 10:30:17 +00:00
Ryan P Kilby
d92b24a0b7
Make serializer fields import explicit ( #4628 )
2016-11-01 10:27:11 +00:00
Alex Kahan
895c67c9a2
Fixes #4532 ( #4636 )
2016-10-31 20:41:54 +00:00
Ryan P Kilby
eafc9a2393
Fix is_simple_callable with variable args, kwargs ( #4622 )
2016-10-25 20:47:24 +01:00
Tom Christie
0fe0e1e703
Fix schema base paths ( #4611 )
2016-10-21 16:59:34 +01:00
Tom Christie
f1bdce17b5
Fix for case of ListSerializer with single item ( #4609 )
2016-10-21 15:21:23 +01:00
Tom Christie
2395fb5386
Deprecate DjangoFilter backend ( #4593 )
...
Deprecate the built-in `rest_framework.filters.DjangoFilterBackend` in favour of the third-party `django_filters.rest_framework.DjangoFilterBackend`.
2016-10-20 10:47:09 +01:00
Tom Christie
de08f28a91
Test one to one with inheritance ( #4575 )
2016-10-13 14:21:23 +01:00
Tom Christie
8d0a91b002
Fix 3674 ( #4571 )
...
Handle ModelSerializer case for relationships to models with custom pk.
2016-10-13 12:43:43 +01:00
Alexey Evseev
2519ce9128
Fix schema generation with custom page_size pagination param ( #4567 )
2016-10-12 16:09:45 +01:00
Tom Christie
5677d063d8
Do not treat empty non-form input as HTML. ( #4566 )
2016-10-12 15:46:24 +01:00
Tom Christie
26e51ecd6c
When HTML form input is used with JSONField, treat the input as a JSON encoded string, not a JSON primative. ( #4565 )
2016-10-12 14:04:10 +01:00
Tom Christie
b419970431
Handle empty data with serializer ( #4564 )
2016-10-12 10:47:17 +01:00
Tom Christie
7f29cfc931
Lazy hyperlink names ( #4554 )
2016-10-11 12:18:00 +01:00
Tom Christie
d0b3b6470a
Fix prefetch_related updates. ( #4553 )
2016-10-11 11:07:40 +01:00
Tom Christie
a3802504a0
Error codes ( #4550 )
...
Add error codes to `APIException`
2016-10-11 10:25:21 +01:00
Tom Christie
0dec36eb41
Version 3.5 ( #4525 )
...
* Start test case
* Added 'requests' test client
* Address typos
* Graceful fallback if requests is not installed.
* Add cookie support
* Tests for auth and CSRF
* Py3 compat
* py3 compat
* py3 compat
* Add get_requests_client
* Added SchemaGenerator.should_include_link
* add settings for html cutoff on related fields
* Router doesn't work if prefix is blank, though project urls.py handles prefix
* Fix Django 1.10 to-many deprecation
* Add django.core.urlresolvers compatibility
* Update django-filter & django-guardian
* Check for empty router prefix; adjust URL accordingly
It's easiest to fix this issue after we have made the regex. To try
to fix it before would require doing something different for List vs
Detail, which means we'd have to know which type of url we're
constructing before acting accordingly.
* Fix misc django deprecations
* Use TOC extension instead of header
* Fix deprecations for py3k
* Add py3k compatibility to is_simple_callable
* Add is_simple_callable tests
* Drop python 3.2 support (EOL, Dropped by Django)
* schema_renderers= should *set* the renderers, not append to them.
* API client (#4424 )
* Fix release notes
* Add note about 'User account is disabled.' vs 'Unable to log in'
* Clean up schema generation (#4527 )
* Handle multiple methods on custom action (#4529 )
* RequestsClient, CoreAPIClient
* exclude_from_schema
* Added 'get_schema_view()' shortcut
* Added schema descriptions
* Better descriptions for schemas
* Add type annotation to schema generation
* Coerce schema 'pk' in path to actual field name
* Deprecations move into assertion errors
* Use get_schema_view in tests
* Updte CoreJSON media type
* Handle schema structure correctly when path prefixs exist. Closes #4401
* Add PendingDeprecation to Router schema generation.
* Added SCHEMA_COERCE_PATH_PK and SCHEMA_COERCE_METHOD_NAMES
* Renamed and documented 'get_schema_fields' interface.
2016-10-10 13:03:46 +01:00
Alex Kahan
4ff9e96b4c
Adding tests to encoder.py ( #4536 )
2016-10-05 09:54:59 +01:00
Alex Kahan
915ac22aeb
Adding tests for rest_framework.py ( #4523 )
2016-10-04 21:22:56 +01:00
Rowan Seymour
883efbc19f
Case insensitive uniqueness validation ( #4534 )
2016-10-04 13:44:50 +01:00
Tom Christie
be74d11165
Fallback behavior for request parsing when request.POST already accessed. ( #4500 )
2016-09-21 11:49:09 +01:00
Tom Christie
4655501d51
Fix regression of RegexField
. ( #4490 )
...
* Don't deepcopy 'regex' arguments, instead treat as immutable.
2016-09-15 12:44:45 +01:00
Mathieu Pillard
07efbdb45e
Fix APIClient.get() when path contains unicode arguments ( #4458 )
2016-09-02 17:00:03 +01:00
José Padilla
d0ed482d70
Skip HiddenField from Schema fields ( #4429 )
2016-08-22 16:53:53 +01:00
Tom Christie
e3f8d06baf
Include .action attribute on viewsets when generating schemas ( #4408 )
2016-08-15 17:10:55 +01:00
Tom Christie
101fd29039
Do not include uploads in request.POST ( #4407 )
2016-08-15 16:53:17 +01:00
Neil Parsons
7466b61e62
Don't strip empty query params when paginating ( #4260 )
2016-08-12 10:50:16 +01:00
Tom Christie
116917dbed
Add form field descriptions to schemas ( #4387 )
2016-08-11 16:18:33 +01:00
Tom Christie
01b498ec51
Fix schema categories for custom list actions ( #4386 )
2016-08-11 14:07:40 +01:00
Tom Christie
b50d8950ee
Pass request to schema generation ( #4383 )
...
Pass request to schema generation
2016-08-11 11:27:28 +01:00
Tom Christie
f16e880167
Stricter type validation for CharField. ( #4380 )
...
Stricter type validation for CharField
2016-08-10 17:22:19 +01:00
Tom Christie
f1a2eeb818
.choices property of RelatedField should preserve non-string values. ( #4379 )
...
Update RelatedField.choices to support non-string values
2016-08-10 16:38:59 +01:00
Tom Christie
9857cd9889
Add failing test for issue #3868 ( #4378 )
2016-08-10 16:04:32 +01:00
Daniel Hahler
378b04eeaa
Fix handling of ALLOWED_VERSIONS and no DEFAULT_VERSION ( #4370 )
...
When only `ALLOWED_VERSIONS` but no `DEFAULT_VERSION` is specified, a
version should be enforced.
2016-08-10 15:19:56 +01:00
Tom Christie
48f3db36d6
Allow optional max_digits on DecimalField ( #4377 )
2016-08-10 14:39:26 +01:00
Tom Christie
8105a4ac5a
Resolve form display with ChoiceField, MultipleChoiceField and non-string choices. ( #4374 )
...
* Add tests for html-form-rendering choice fields
* Resolve issues with ChoiceField, MultipleChoiceField and non-string options
* Ensure None template comparisons don't match string None
2016-08-10 12:02:33 +01:00
Dmitry Dygalo
e1768bdc16
Fixed various typos ( #4366 )
2016-08-08 09:32:22 +01:00
Tom Christie
d5178c9246
Include kwargs passed to 'as_view' when generating schemas ( #4359 )
2016-08-05 11:19:39 +01:00
Tom Christie
a9a097496e
extra_kwargs takes precedence over uniqueness kwargs ( #4349 )
2016-08-02 14:33:15 +01:00
Tom Christie
5500b265bc
Test cases for DictField with allow_null options ( #4348 )
2016-08-02 14:14:36 +01:00
Tom Christie
bda16a518a
Dedent tabs. ( #4347 )
2016-08-02 13:33:14 +01:00
Tom Christie
e37619f741
Serializer defaults should not be included in partial updates. ( #4346 )
...
Serializer default values should not be included in partial updates
2016-08-02 13:05:12 +01:00
Tom Christie
3ef3fee926
Descriptive error from FileUploadParser when filename not included. ( #4340 )
...
* Descriptive error from FileUploadParser when filename not included.
* Consistent handling of upload filenames
2016-08-01 18:44:58 +01:00
Tom Christie
46a44e52aa
Quantize incoming digitals ( #4339 )
2016-08-01 17:15:41 +01:00
Tom Christie
aa349fe767
Handle non-string input for IP fields ( #4338 )
2016-08-01 16:14:26 +01:00
Alexander Gaevsky
46a870c002
Fix schema generation for APIView, since it does not have get_serializer_class method. ( #4285 )
2016-07-27 15:36:36 +01:00
Tom Christie
351e0a4a99
Fix json indent parameter. Closes #4281 ( #4313 )
2016-07-27 11:49:01 +01:00
Tom Christie
5d3b56f957
Test case for #4272 ( #4310 )
...
* Test case for #4272
2016-07-26 16:28:10 +01:00
Sassan Haradji
f0f61aa077
use verbose_name instead of object_name in field_mapping ( #4299 )
...
* use verbose_name instead of object_name in error messages
2016-07-26 15:12:51 +01:00
Andi Albrecht
3ca0b15b17
Restore meta information for each search field. ( #4298 )
...
The meta information stored in opts needs to be restored for
each search field. Otherwise it references the wrong model
when an attribute of a related model comes before an attribute
of the original model in search fields. This doesn't apply to
m2m relations since must_call_distinct returns True in that
case.
2016-07-26 11:07:03 +01:00
Tom Christie
8385ae42c0
3.4.0 Release ( #4258 )
...
* 3.4.0 Release
* Version 3.4 release
* Full release notes
* Update translation files
* Update release documentation
* Update release notes
* Docs on supporting alternate schema formats
* Add schema_renderers to DefaultRouter
2016-07-13 16:30:41 +01:00
Mads Jensen
6defb8da47
lookup_type is deprecated in favor of lookup_expr ( #4259 )
...
* lookup_type is deprecated in favor of lookup_expr
* assertEquals is deprecated in favor of assertEqual
* app_name is a required keyword as of Django 1.10
2016-07-13 14:40:42 +01:00
kiyoqoko
6338ce80ab
Add localize keyword argument to DecimalField
( #4233 )
...
Add `localize` keyword argument for DecimalField
2016-07-06 16:07:16 +01:00
Tom Christie
6ff9840bde
Schemas & client libraries. ( #4179 )
...
* Added schema generation support.
* New tutorial section.
* API guide on schema generation.
* Topic guide on API clients.
2016-07-04 16:38:17 +01:00
Vadim
c752e9618f
Fix test for py32-django18.
2016-06-29 10:21:28 +03:00
Vadim
c0f4dfd8f3
Add tests for the ListSerializer for the TestSerializerPartialUsage.
...
Additional fix partial update for the ListSerializer.
2016-06-29 09:48:31 +03:00
Laurent De Marez
fdde44d9d1
Fix parsing multipart data using a nested serializer with list ( #3820 )
...
It is possible that a key in a MultiValueDict has multiple values, lists
are represented this way. When accessing a key in a MultiValueDict
it only returns the last element of that key. This becomes a problem
when parsing an html dict with a list inside of it.
To fix this problem we have to get and set the value using .getlist()
and .setlist().
2016-06-23 16:03:24 +01:00
Tom Christie
bc3485ab7d
Namespace versioning with nested namespaces ( #4219 )
...
Support nested namespaces with namespaced versioning.
2016-06-23 16:00:11 +01:00
Tom Christie
ea92d50582
Resolve tests against Django master ( #4218 )
2016-06-23 15:41:25 +01:00
Tom Christie
f81d516ae4
Robust uniqueness checks. ( #4217 )
...
* Robust uniqueness checks
* Add master to test matrix (allow_failures)
2016-06-23 15:09:23 +01:00
Simon Charette
90bb0c58ce
Prevented unnecessary distinct() call in SearchFilter. ( #3938 )
...
* Prevented unnecessary distinct() call in SearchFilter.
* Refactored SearchFilter lookup prefixes.
2016-06-23 13:49:23 +01:00
Tom Christie
9406e45b2c
Pass through strings as-in with DateTimeField ( #4196 )
2016-06-14 12:23:39 +01:00
Tom Christie
1633a0a2b1
Add test confirming that required=False is valid on a relational field ( #4195 )
2016-06-13 16:52:45 +01:00
Tom Christie
2e7fae7698
limit=0 should revert to default limit ( #4194 )
2016-06-13 16:32:43 +01:00
Tom Christie
c3b7fba918
Exclude read_only=True fields from unique_together validation & add docs. ( #4192 )
...
* Exclude read_only=True fields from unique_together validation
* Test to ensure that unique_together validators can be removed
* Do not add uniquness_extra_kwargs when validators are explicitly declared.
* Add docs on validation in complex cases
2016-06-13 13:31:12 +01:00
Tom Christie
bb22ab8ee7
More robust form rendering in the browsable API ( #4181 )
2016-06-08 17:13:20 +01:00
Tom Christie
a5f822d067
Empty cases of .validated_data and .errors as lists not dicts for ListSerializer ( #4180 )
2016-06-08 15:55:09 +01:00
Tom Christie
75751cc64e
Allow relative style hyperlinked URLs
2016-06-02 15:03:17 +01:00
Tom Christie
9c996d7d2a
Clean up existing deprecation warnings. ( #4166 )
...
* Add Meta.fields = '__all__' to serializer classes where required.
* Add explicit on_delete=models.CASCADE to ForeignKey fields.
* Use '.remote_field' and '.model' in preference to '.rel' and '.to' when inspecting model fields.
* Use new value_from_object in preference to internal _get_val_from_obj
2016-06-02 14:39:10 +01:00
Simon Charette
014e24b024
Do not list related field choices in OPTIONS requests.
...
Do not list related field choices in OPTIONS requests.
2016-06-01 16:33:03 +01:00
Tom Christie
994e1ba927
Django 1.10 support. ( #4158 )
...
* Added TEMPLATES setting to tests
* Remove deprecated view-string in URL conf
* Replace 'urls = ...' in test classes with override_settings('ROOT_URLCONF=...')
* Refactor UsingURLPatterns to use override_settings(ROOT_URLCONF=...) style
* Get model managers and names in a version-compatible manner.
* Apply override_settings to a TestCase, not a mixin class
* Use '.callback' property instead of private attributes when inspecting urlpatterns
* Pass 'user' to template explicitly
* Correct sorting of import statements.
* Remove unused TEMPLATE_LOADERS setting, in favor of TEMPLATES.
* Remove code style issue
* BaseFilter test requires a concrete model
* Resolve tox.ini issues
* Resolve isort differences between local and tox environments
2016-06-01 15:31:00 +01:00
Asif Saifuddin Auvi
dc09eef24a
Style fix of tests ( #4154 )
...
Clean up code style.
2016-06-01 10:40:54 +01:00
Asif Saifuddin Auvi
eef94856d8
deleted description.py as unneeded
2016-06-01 10:24:29 +06:00
Asif Saifuddin Auvi
4fabdee4a3
fix lint error
2016-06-01 02:04:38 +06:00
Asif Saifuddin Auvi
91bb17770e
removed description tests unicode related functions
2016-06-01 00:43:37 +06:00
Asif Saifuddin Auvi
3db45cb94d
removed description codes as it seems to be python 2.6 issue
2016-06-01 00:39:01 +06:00
Kennedy Mwenja
592eea9b9e
* Use get_serializer_class in ordering filter* Test improper configuration of ordering* Raise ImproperlyConfigured when missing get_serializer_class
...
* Use get_serializer_class in ordering filter
* Test improper configuration of ordering
* Raise ImproperlyConfigured when missing get_serializer_class
2016-05-26 09:59:13 +01:00
Xiao Hanyu
19bdfda49a
Fix #3844 , refine validator for fields with <source=> kwargs
...
When serializers has fields with something like `source=user.email`, the
uniqueness validator should check `email` field instead of `user`, cause
`user` is a model object.
2016-05-26 10:58:37 +08:00
Tom Christie
ebb4070467
Resolve TimeField representation for midnight value. ( #4107 )
2016-05-10 11:56:36 +01:00
José Padilla
0795f7394c
Prevent raising exception when limit is 0 ( #4098 )
2016-05-10 10:58:24 +01:00
Miro Hrončok
ffdac0d936
TokenAuthentication: Allow custom keyword in the header ( #4097 )
...
This allows subclassing TokenAuthentication and setting custom keyword,
thus allowing the Authorization header to be for example:
Bearer 956e252a-513c-48c5-92dd-bfddc364e812
It doesn't change the behavior of TokenAuthentication itself,
it simply allows to reuse the logic of TokenAuthentication without
the need of copy pasting the class and changing one hardcoded string.
Related: #4080
2016-05-04 10:53:34 +01:00
Germán Larraín
e19b21ecc5
Handle incorrectly padded HTTP basic auth header ( #4090 )
2016-05-03 09:24:55 +01:00
Daniele Varrazzo
88c80fe2e9
Fixed DecimalField arbitrary precision support ( #4075 )
2016-04-27 17:04:01 +01:00
Xavier Ordoquy
1823662e1e
Merge pull request #4044 from linovia/merge/3.3.x_to_master
...
Merge the changes in 3.3.x back to master.
2016-04-21 11:31:15 +02:00
Phivos Stylianides
08dad04b19
Fix warnings when running tests ( #4047 )
2016-04-11 14:13:11 +01:00
Simon Charette
d87f2bc7b6
OrderingFilter adjustements ( #3983 )
...
* Made sure the OrderingFilter relies on Field.verbose_name.
* Marked OrderingFilter's order labels for translation.
2016-04-08 15:37:23 +01:00
Xavier Ordoquy
bff3bebdbe
Merge remote-tracking branch 'reference/stable/3.3.x' into merge_test
...
# Conflicts:
# docs/topics/release-notes.md
2016-04-08 15:46:17 +02:00
Jonathan Liuti
78e4ea0d6e
No auth view failing permission should raise 403
...
A view with no `authentication_classes` set and that fails a
permission check should raise a 403 with the message from the
failing permission.
2016-04-07 16:24:26 +01:00
Xavier Ordoquy
cfb77ae6fa
Merge pull request #3273 from olliewalsh/breadcrumbs_view_name
...
Do not ignore overridden View.get_view_name() in breadcrumbs
2016-03-23 01:10:13 +01:00
Xavier Ordoquy
0e8306341d
Merge pull request #3936 from carltongibson/null-uuid-fk-take2
...
Fix None UUID ForeignKey serialization
2016-03-22 22:46:33 +01:00
Jared Lang
e34a34e90b
Fix empty pk detection in HyperlinkRelatedField.get_url
...
This implementation allows detection of empty values that are non-nullable, allowing the field to return None values for such cases
2016-03-07 19:37:48 +01:00
Jared Lang
7ac8cc760c
Fix empty pk detection in HyperlinkRelatedField.get_url
...
This implementation allows detection of empty values that are non-nullable, allowing the field to return None values for such cases
2016-02-29 12:56:56 -08:00
José Padilla
69c0de4faa
Merge pull request #3953 from akarambir/remove-old-django-checks
...
Closes #3952 : Remove old django checks from tests and compat
2016-02-19 11:08:45 -04:00
Karambir Singh Nain
69f1e3a9fd
Remove old django checks from tests and compat
...
Remove skipping of tests for Django<1.8. Remove several functions from compat.py not needed for Django>=1.8
2016-02-19 01:47:45 +05:30
Xavier Ordoquy
5e08231453
Remove informations about why the pagination didn't work.
...
We remove a couple of informations to lower the exposition of our internals.
2016-02-17 18:18:19 +01:00
Erick Wilder
8109752061
Closes #3937 . Support callable as the value of initial
for any serializer.Field
2016-02-17 10:52:21 +01:00
Carlton Gibson
cbb8d8d254
Test deserialising data including None
fk
2016-02-16 09:38:42 +01:00
Carlton Gibson
20d1fdba69
Fix None UUID ForeignKey serialization
2016-02-16 09:29:48 +01:00
Kostya Esmukov
b6adfab9b2
Added test case for #3908
2016-02-07 19:26:37 +03:00
Mikalay Radchuk
714607307e
Fixes AttributeError in HTMLFormRenderer.render
...
If `HTMLFormRenderer.render` will be called with default arguments,
`AttributeError: 'NoneType' object has no attribute 'get'` will be raised.
2016-01-26 21:26:30 +03:00
Xavier Ordoquy
5068ecf64b
Rename the get_queryset
overriding test.
2016-01-21 16:50:07 +01:00
Xavier Ordoquy
6d95da7b2d
Improve the get_queryset
overriding test readability.
2016-01-21 16:48:32 +01:00
Xavier Ordoquy
f1b28b4d63
Merge pull request #3605 from ryanhiebert/slug-related-field-queryset
...
RelatedField get_queryset and context
2016-01-20 18:17:29 +01:00
Mads Jensen
215e1b6c6b
Regarding #3729
...
python -Werror generates warnings informing that on_delete is a required keyword in Django 2.0
2016-01-14 15:14:33 +01:00
areski
4e01796303
Test for TimeField not handling empty values
2016-01-11 12:16:26 +01:00
Mikalai Radchuk
6b207d93d6
DateField.to_representation unicode compatibility
2016-01-11 13:11:01 +03:00
Tom Christie
f01a3d9c36
Merge pull request #3801 from koordinates/fix-nested-validation-error
...
Fix nested validation error being rendered incorrectly.
2016-01-07 09:22:23 +00:00
Kevin Massey
7cd3933144
Fixes #3804 , avoiding update of Meta.extra_kwargs
...
Added unit test to cover.
2016-01-06 15:04:51 -05:00
Craig de Stigter
651319e2da
Fix nested validation error being rendered incorrectly.
...
Previously an extra list wrapped nested validation errors raised from serializer's validate() methods.
That was inconsistent with the format of validation errors raised by validate_<fieldname> methods.
i.e. these two resulted in *different* behaviour:
def validate_foo(self):
raise ValidationError(['bar'])
def validate(self):
raise ValidationError({'foo': ['bar']})
2016-01-06 16:05:43 +13:00
Tom Christie
37f7b76f72
Merge pull request #3785 from sheppard/authtoken-import
...
don't import authtoken model until needed
2016-01-05 17:28:48 +00:00
S. Andrew Sheppard
4f40714169
fix import order
2016-01-05 10:20:22 -06:00
S. Andrew Sheppard
2b8c036b48
test custom token model
2016-01-05 09:58:16 -06:00
S. Andrew Sheppard
1712c00001
update invalid token case
2016-01-05 09:42:22 -06:00
Kevin Brown
a772326112
Merged two DecimalValidator tests together
...
These two tests were previously added in
7d79cf35b7
but we have now discovered that there are not actually two separate
cases, there was just a bug in the code that made it look that way.
This also removes a redundant check to see if `DecimalValidator` was
defined.
2016-01-04 10:22:17 -05:00
Kevin Brown
d797389cf7
Fixed broken test for Django < 1.9
...
This test was incorrectly checking that there were no validators set in
older versions of Django, even though it should have been checking for
the two validators that were set up on the model field level.
The originally regression test that this fixes was added in
7d79cf35b7
when fixing an issue with the `DecimalValidator`.
2015-12-24 18:17:58 -05:00
Kevin Brown
9bab640b0a
Added tests for min_value and max_value on a DecimalField
...
This adds tests for a regression where the `min_value` and `max_value`
arguments are not being set for a DRF `DecimalField` even though the
corresponding `MinValueValidator` and `MaxValueValidator` is being set
on the model fields.
Note that this only appears to be a regression for Django < 1.9, as
these regression tests pass on newer versions of Django.
2015-12-24 14:00:49 -05:00
Tom Christie
18cdfcd712
Merge pull request #3731 from mjparker777/master
...
Issue 3726 DateTimeField not handling empty values
2015-12-18 11:27:12 +00:00
Luis San Pablo
c389aeb051
Lint import ordring
2015-12-16 18:46:23 -06:00
Luis San Pablo
62e2a9706f
Fixed import order settings
2015-12-16 18:37:50 -06:00
Luis San Pablo
dab6bf4b1a
Changed error to warning message
2015-12-16 18:35:02 -06:00
mjparker777
fc08236ab8
updated timefield also
2015-12-13 16:09:56 -07:00
mjparker777
81775dfbae
added missing comma
2015-12-13 12:27:08 -07:00
mjparker777
bf60c08010
Issue 3726 DateTimeField not handling empty values
2015-12-13 12:21:13 -07:00
Luis San Pablo
9db4c2ae8a
--ammend
2015-12-07 22:31:09 -06:00
Luis San Pablo
4e5c57ab46
type on test case
2015-12-07 22:19:58 -06:00
Luis San Pablo
03c7f149ac
Test case for settings check
2015-12-07 22:17:33 -06:00
Luis San Pablo
4b59681c60
Fixed Class Newlines
2015-12-04 05:57:09 +00:00
Luis San Pablo
4092cef392
Fixed Test Case for Hyperlink
2015-12-04 05:42:46 +00:00
Luis San Pablo
8501f59216
Hyperlink Test Case
2015-12-04 05:30:39 +00:00
bphillips
c153bcb479
Added validation to UUIDField to properly catch invalid input types (lists, tuples, etc).
2015-12-01 14:09:10 -05:00
Tom Christie
832d6322a7
Merge pull request #3631 from syphar/paginat
...
allow setting a custom Django Paginator class
2015-11-30 20:58:32 +00:00
Petros Moisiadis
3594c976b7
Added test case for rendering nested fields with none value
2015-11-27 15:07:29 +02:00
Tom Christie
04158e187e
Merge pull request #3513 from pattisdr/feature/ListField_needs_to_enforce_list
...
ListField does not enforce that input is a list
2015-11-18 12:19:40 +00:00
Dawn Pattison
3ddbf92bf9
Remove unicode from exception value.
2015-11-13 10:41:57 -05:00
Dawn Pattison
5fdc4f22cf
Add tests to ensure ListField does not except dictionary as input.
2015-11-13 10:17:09 -05:00
Denis Cornehl
3806af3d15
allow setting a custom Django Paginator in pagination.PageNumberPagination
2015-11-13 16:04:12 +01:00
Xavier Ordoquy
795cf4716d
Fix module name with Python 3.5
2015-11-11 17:44:46 +01:00
Ryan Hiebert
f2452936e9
Allow no queryset when get_queryset overridden
...
The user may wish to provide a dynamic queryset on a `RelatedField`
based on the `context`. The way to do that is to create a subclass of
`RelatedField` (or a child) and override the `get_queryset` method.
However, this is undocumented, and instantiating that field without a
`queryset` argument (because it's not needed) will raise an assertion
error.
Document `.get_queryset(self)` as an official part of the API of
`RelatedField`, and don't enforce the use of `queryset` when
`get_queryset` is overridden.
2015-11-05 17:34:02 -06:00
José Padilla
7d79cf35b7
Add regression test for DecimalField mapping
2015-10-30 07:47:11 -04:00
Matthew Madurski
8aed3d4862
Correctly handle false in nested as_form_field
2015-10-24 19:48:17 -04:00
Tom Christie
84e9013417
Merge pull request #3531 from tomchristie/version-3.3
...
Version 3.3
2015-10-23 16:24:08 +01:00
José Padilla
d64bfef56a
Map all supported FilePathField options
2015-10-23 10:08:29 -04:00
Tom Christie
7bfc420dc9
Add release notes, drop deprecated test
2015-10-22 15:11:10 +01:00
José Padilla
a1dad503cf
Map TextField max_length to CharField
2015-10-16 07:17:33 -04:00
Tom Christie
dad207de66
Don't attempt to test dicts (unordered)
2015-09-28 17:41:09 +01:00
Tom Christie
ec8098b7e2
Work around 2.x/3.x json.dumps() return type fuzziness
2015-09-28 17:32:36 +01:00
Tom Christie
10dbf1316f
Added JSONField. Closes #3170 .
2015-09-28 17:25:52 +01:00
Tom Christie
c64896c849
More cleanup of browser overrides
2015-09-28 15:33:55 +01:00
Tom Christie
d7142e23ac
Merge branch 'master' into remove-content-overriding
2015-09-28 15:15:50 +01:00
Tom Christie
2d0b54e263
Merge branch 'drop-django-16' oft https://github.com/carltongibson/django-rest-framework into carltongibson-drop-django-16
...
Conflicts:
docs/topics/release-notes.md
2015-09-28 11:17:48 +01:00
Tom Christie
ca8313aeac
Merge branch 'master' into version-3.3
...
Conflicts:
docs/topics/release-notes.md
2015-09-28 10:57:14 +01:00
Stian Jensen
62c000bc12
Use model error_messages when available
...
In the automatically applied UniqueValidator, use the error message from
error_messages defined in the model instead of the generic default
UniqueValidator message.
This fixes #2878 .
2015-09-23 15:20:44 +02:00
paolopaolopaolo
7640bfea9e
Add assert
statement to .save()
method in Serializer:
...
- Asserts that `_data` does not exist when calling `.save()`
2015-09-22 11:49:51 -07:00
paolopaolopaolo
134f5fa4bc
Fixes #3265 (now with Test Case)
...
- Added test_data_access_before_save_raises_error test
2015-09-22 11:40:19 -07:00
Carlton Gibson
45ace5010e
Remove OrderedDict fallback
2015-09-22 16:35:38 +02:00
Carlton Gibson
0b34408172
Remove unittest.skipUnless
2015-09-22 16:24:22 +02:00
Carlton Gibson
6e86a53c92
Remove apps.get_model
fallback
...
* Corrects presumed logic error in `ResolveModelWithPatchedDjangoTests`
2015-09-22 16:14:45 +02:00
Carlton Gibson
68c88e180f
Remove ContentType import fallback
2015-09-22 15:55:39 +02:00
Alexey Boriskin
0155a44aac
Typo in test method name
2015-09-22 12:13:01 +03:00
Carlton Gibson
25de8c960f
Remove Django 1.5 get_model_name fallback
2015-09-21 20:10:31 +02:00
Xavier Ordoquy
f2c65512c6
Merge pull request #3415 from adamsc64/issue_2761
...
Fixed #2761 - ListField truncation on HTTP PATCH
2015-09-21 13:06:44 +02:00
Christopher Adams
cb42b995fa
Proof of bug #2761
...
- When not submitting key for list fields or multiple choice, partial
serialization should result in empty state (key not there), not an
empty list.
2015-09-19 10:17:57 -04:00
Tom Christie
b8ebe29844
Import sorting
2015-09-17 16:40:47 +01:00
Tom Christie
343fd5ec3d
Merge branch 'canassa-method-not-allowed-not-raised' into remove-content-overriding
2015-09-17 16:39:30 +01:00
Tom Christie
66e372200f
Merge branch 'method-not-allowed-not-raised' of https://github.com/canassa/django-rest-framework into canassa-method-not-allowed-not-raised
2015-09-17 16:38:42 +01:00
Tom Christie
4b4130e8b2
Fix request cloning, so method becomes set
2015-09-17 16:34:03 +01:00
Tom Christie
a3067bea55
Merge branch 'master' into version-3.3
2015-09-17 16:24:46 +01:00
Tom Christie
566812ac0b
Remove method and content overriding
2015-09-17 15:17:29 +01:00
Steven Loria
284f9faa07
Correctly handle [] and {} as invalid inputs to BooleanField
2015-09-11 23:12:18 -04:00
Xavier Ordoquy
aa48182686
Add test coverage on allow_empty for nested serializers.
2015-09-07 23:11:01 +02:00
raphaelmerx
b9782b6850
DurationField accepts integers
2015-09-02 16:47:50 -07:00
Tom Christie
f87573ffa3
Merge pull request #3345 from jpadilla/fields
...
Update ModelSerializer 'fields'/'exclude'/'__all__' behavior
2015-08-28 14:57:05 +01:00
Tom Christie
7560e8381f
Drop unused patterns
2015-08-28 10:53:44 +01:00
Tom Christie
6fa534f214
Fix urlpatterns in test
2015-08-28 10:44:49 +01:00
Tom Christie
25c4c7f9fd
Pep8 fix
2015-08-28 10:03:16 +01:00
Tom Christie
e70da5ac6b
Compat for GenericForeignKey, GenericRelation
2015-08-28 10:03:08 +01:00
José Padilla
654e0e4527
Update ModelSerializer fields behavior
2015-08-27 13:09:08 -04:00
Tom Christie
4f27697467
Fix get_model import
2015-08-27 17:28:12 +01:00
Tom Christie
f691006f2c
Resolve generic fields import
2015-08-27 17:16:19 +01:00
Tom Christie
48540f180a
unittest compat fallback
2015-08-27 17:11:53 +01:00
Tom Christie
b271946b31
Merge pull request #3321 from tomchristie/empty-charfield-html
...
Resolve empty HTML charfield behavior.
2015-08-24 10:41:36 +01:00
Tom Christie
9ac646385f
Resolve empty HTML charfield behavior. Closes #3318 .
2015-08-24 10:13:16 +01:00
borzdyko
21d0e51831
Test for regex search filter
2015-08-21 18:23:39 +03:00
Tom Christie
0f77c27d34
Merge branch 'master' of https://github.com/callorico/django-rest-framework into callorico-master
2015-08-20 12:30:33 +01:00
José Padilla
8af366a732
Raise error when source=
use on a child.
...
Closes #3292
2015-08-19 12:32:16 -04: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
18af181191
Fix boolean checkboxes setting to False. Closes #3258 . Closes #2776 .
2015-08-13 09:56:03 +01:00
James Beith
e9d9cb7011
Add tests for display_value
2015-08-10 12:19:46 +01:00
Ryan Kaneshiro
bc6bf7236b
Add test to repro duplicate validation error
...
Using the ModelSerializer with a model containing a GenericIPAddressField
produces duplicated validation error messages.
2015-08-07 16:53:43 -07:00
Keryn Knight
08d60f5cc2
Refs #3235 - Test demonstrating a single value passed to ListField is lost.
2015-08-07 11:41:56 +01:00
Tom Christie
33d6d4a420
Test more types of behavior in test_iter_options
2015-08-06 12:30:26 +01:00
Tom Christie
24dec32e7a
Added test_iter_options
2015-08-06 12:18:09 +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
Cesar Canassa
60c17253ab
Add test to check if a 415 status is returned for unsupported media types
2015-08-03 17:54:18 +02: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
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
4fd971e3e5
Update exception handler test in line with deprecations
2015-07-30 15:42:11 +01:00
Tom Christie
c203ca4c64
Deprecations
2015-07-30 15:26:42 +01:00
Tom Christie
c5a04a8516
Add test for nullable ChoiceField and blank HTML input. Closes #2623 .
2015-07-27 13:51:03 +01:00
Ion Scerbatiuc
bbd44ae94b
Updated the test cases based on the CR comments
2015-07-25 08:22:14 -07:00
Ion Scerbatiuc
085c3e8a2b
Fixed python 2.6 compatibility
2015-07-25 08:10:15 -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
e05021c8c6
Guard against erronous direct .queryset evaluation in CBVs.
2015-07-23 17:17:18 +01:00
Tom Christie
d14bc3c4e1
Fix test cases for python3
2015-07-23 14:41:28 +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
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
7b21336872
Rename model to play nice with Django 1.7.
2015-07-16 16:18:14 +01:00
Tom Christie
0b6eb4a881
Fix for Django 1.7 issue with long default verbose_name arguments on ChoiceField
2015-07-16 16:01:50 +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
Venelin Stoykov
73c0ebc2d5
Test for #3153
2015-07-16 15:40:41 +03:00
Tom Christie
cde7154c59
Runtests should not suppress stdout. In the context of a web app only serves to hide erronous print statements.
2015-07-16 11:50:22 +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
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
Juan Gutierrez
2887fc4a0b
update QueryDict initialization to satisfy older versions of Django
2015-07-08 08:25:12 -04:00
Juan Gutierrez
35db2b142f
remove FakeMultiDict definition in nested serializer tests and replace with django QueryDict
2015-07-08 08:19:42 -04: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
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
fb4233736f
Empty settings should also be coerced to lists. Closes #3087 .
2015-07-02 10:28:46 +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
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
José Padilla
d6e30c75ff
Add test and fix for #2704
2015-06-25 09:35:36 -04: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
homm
9bc0319ff4
Revert tests
2015-06-23 19:02:05 +03:00
homm
b01e91eb71
test custom cursor format
2015-06-23 18:09:17 +03:00
homm
b3716ccb91
make MockObject, MockQuerySet and ExamplePagination visible outside of setup
2015-06-23 18:07:32 +03: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
aa1ad4fb64
test_requests TestSecure: skip tests for django versions where the secure
...
argument is not available
2015-06-22 14:28:09 +02:00
Markus Korn
d86e494e86
test_quests: added TestSecure for the emulation of secure connections in test cases
2015-06-22 14:04:46 +02: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
Brian Grohe
79736e516a
Added failing test case
...
Adding failing test case when many=false is explicitly defined
https://github.com/tomchristie/django-rest-framework/issues/3042
2015-06-17 13:18:50 -04: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
bfd7219352
Define the urlpatterns
as a list of `url()....
2015-06-11 01:01:47 +02:00
Xavier Ordoquy
9f1805f2f0
Removed unused imports.
2015-06-11 00:51:33 +02: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
fb2c09f6ae
Remove unused patterns import.
2015-06-11 00:36:37 +02:00
Xavier Ordoquy
e7e5946c2e
format_suffix_patterns
is applied before the trailing slash.
2015-06-11 00:32:05 +02:00
hellysmile
cbfce93129
Fitx TestCase due Django interals.
2015-06-08 18:15:31 +03:00
hellysmile
b015ae99e6
Inline @transaction.non_atomic_requests for Django<1.6.
2015-06-08 07:39:08 +03: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
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
0c66c7cfa6
Merge pull request #3000 from linovia/ovangle/uuid_format2
...
Add 'format' argument to UUIDField
2015-06-03 12:32:23 +01: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
Jannon Frank
a97c989248
fix read_only related field metadata
2015-06-02 00:40:00 -07:00
Nicolas Delaby
34dc98e8ad
improve wording
2015-06-02 09:19:58 +02:00
Nicolas Delaby
8ad38208a1
more assertions make the test more readable
2015-06-02 09:19:58 +02:00
Nicolas Delaby
d1371cc949
Use post instead of get for sanity of use-case.
2015-06-02 09:19:58 +02: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
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
94e2d3ca61
Test case upgrade to use partial data
2015-06-01 16:13:12 +01:00
Xavier Ordoquy
989c08109b
Failing test case for #2894
2015-06-01 16:04:05 +01:00
Tom Christie
0fdaa0dbba
Merge pull request #2992 from linovia/feature/clean_mock_html_dir
...
Remove an extra MockHTMLDict definition.
2015-06-01 15:54:09 +01:00
Xavier Ordoquy
2f524ec1a3
Remove an extra MockHTMLDict definition.
2015-06-01 15:46:27 +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
S. Andrew Sheppard
4a3c844b7f
flake8
2015-05-28 08:29:15 -05:00
S. Andrew Sheppard
0b8b288be5
python2 compat
2015-05-28 08:20:43 -05:00
S. Andrew Sheppard
805a915e7c
can't nest unique_together relations
2015-05-27 21:06:57 -05: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
David Sanders
8e84a9f6d0
Allow invalid outputs to pass through to_representation() for ChoiceField & MultipleChoiceField
2015-05-15 18:59:10 +10: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
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
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
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
6f66798ad3
Prevent empty queryset
s 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
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
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
Simon Charette
87208021e2
Metadata should detect null boolean field type.
2015-03-24 21:31:35 -04:00
Ilias Kiourktsidis
486f0a9367
Raise error when ModelSerializer used with abstract model
2015-03-23 15:01:19 +00:00
Andrea Grandi
a0049dd489
Add a blank line to make lint happier
2015-03-22 23:21:09 +00:00
Andrea Grandi
1d883e0825
Add two more tests for IPAddressField, checking the IPv4 and IPv6 protocols separately
2015-03-22 16:46:16 +00:00
Ion Scerbatiuc
fac2785341
Handling the fallback in reverse
2015-03-19 16:12:28 -07:00
Ion Scerbatiuc
90280a3437
Handle reversal of non-API view_name in HyperLinkedRelatedField
2015-03-19 14:16:45 -07:00
José Padilla
76ede5beda
Simplify test settings
2015-03-14 15:57:22 -04: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
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
18cc0230bf
Clean up pagination attributes
2015-03-04 15:51:00 +00: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
Kevin Wood
b582d52afb
Fix docstring formatting
2015-02-28 13:06:47 -08: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
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
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
16ffe5e31f
Add tests for callable attributes raising exceptions
2015-02-26 09:05:37 -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
1b398a20de
Who care what we do when it's totally malformed? Not me.
2015-02-26 13:41:25 +00:00
Tom Christie
4b745eef3a
Update test for more graceful 1.8 handling of malformed filename encodings
2015-02-26 13:25:14 +00:00
Yannick PEROUX
9cafdd1854
Add a test for #2583 fix
2015-02-25 11:54:56 +01:00
Rense VanderHoek
9cb547b85f
Validator-fix, added min/max fields to test_metadata
2015-02-20 17:34:49 +01:00
José Padilla
777f4e8212
Failing test for #2552
2015-02-19 12:23:44 -04:00
Aider Ibragimov
aa7ed316d8
Return UniquenessTogetherModel to previous state
2015-02-19 18:09:04 +03: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
4248a8d3fc
Merge pull request #2198 from tomchristie/version-3.1
...
Version 3.1
2015-02-13 13:38:44 +00:00
donewell
3d25dadbf3
change custom message for clarity
2015-02-11 11:20:03 +00: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
d87bb67d11
Failing test case for #1488
2015-02-10 10:50:35 +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
0669f507b3
pep8 fix
2015-02-09 17:22:13 +00:00
Tom Christie
54d82f59ed
Py3 compat fix
2015-02-09 17:19:22 +00:00
Tom Christie
dec3493d7c
Minor cleanup
2015-02-06 14:43:43 +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
Tom Christie
f98f842827
Minor bits of test cleanup
2015-02-05 01:24:55 +00:00
Tom Christie
e1c4513312
Fix NamespaceVersioning with hyperlinked serializer fields
2015-02-05 00:58:09 +00: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
Brandon Cazander
030f01afdb
Reorganize tests.
2015-02-03 02:14:38 -08:00
Brandon Cazander
f3067a7fab
Remove unnecessary APIRequestFactory get from tests.
2015-02-02 20:41:06 -08:00
Brandon Cazander
77d061d234
Provide rest_framework.resolve. Fixes #2489
2015-02-02 20:37:33 -08:00
Tom Christie
2cc4cb2465
Fix error text in test.
2015-01-31 08:53:40 +00: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
Brandon Cazander
ac87490b91
Clone the versioning_scheme when necessary. Fixes #2477
2015-01-27 17:10:17 -08:00
Susan Dreher
e7da266a86
reorganize imports
2015-01-27 16:32:15 -05:00
Susan Dreher
1714ceae9f
reorganize imports
2015-01-27 16:31:25 -05: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
Tom Christie
65bca59ea5
Reload api_settings when using Django's 'override_settings'
2015-01-27 13:51:30 +00:00
Brandon Cazander
6c083b12a1
Streamline test for #2455
2015-01-24 11:00:36 -08:00
Brandon Cazander
0ee2edc0a1
Add missed files for test.
2015-01-24 01:44:09 -08:00
Brandon Cazander
b09ef28959
Add failing test for request.version AttributeError in BrowsableAPI.
2015-01-24 01:37:23 -08:00
Tom Christie
35f6a82462
Added DictField and support for HStoreField.
2015-01-23 16:27:23 +00:00
Tom Christie
e8db1834d3
Added UUIDField.
2015-01-23 15:24:06 +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
4cb164b66c
Add missing skipUnless(django_filters)
2015-01-23 11:49:57 +00:00
Tom Christie
e988d57853
Fix template loader monkey patching to also support 1.8
2015-01-23 11:47:01 +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
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
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
6065cdbd93
Merge master
2015-01-19 15:16:57 +00:00
Tom Christie
4f3c3a06cf
Drop trailing whitespace on indented JSON output. Closes #2429 .
2015-01-19 14:41:10 +00:00
Tom Christie
dbb684117f
Add offset support for cursor pagination
2015-01-19 09:24:42 +00:00
David Muller
b5128ca574
Save objects before assigning them in InheritedModelSerializationTests; Django 1.8 now throws an error when assigning unsaved objects to Foreign Key, GenericForeignKey, and OneToOneFields
2015-01-18 15:19:11 -08: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
50db8c092a
Minor test cleanup
2015-01-16 16:55:28 +00:00
Tom Christie
53edd37df5
Tests for LimitOffsetPagination
2015-01-15 21:07:05 +00: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
Craig Blaszczyk
7f8d314101
update tests to expect new error messages
2015-01-08 17:16:47 +00: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
Tom Christie
949e3b7507
Merge branch 'master' into version-3.1
2015-01-05 15:04:23 +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
Craig Blaszczyk
32506e2075
update expected error messages in tests
2015-01-02 11:08:39 +00:00
Tom Christie
efa5942ce1
Support namespaced router URLs with DefaultRouter.
2014-12-28 12:02:52 +00:00
Tom Christie
67fc002f91
Drop unused import
2014-12-28 11:27:06 +00:00
Tom Christie
7b42c5ed17
Remove broken test. Closes #2359 .
2014-12-28 11:14:32 +00:00
Remi Paulmier
b32ecdefba
modified the tests accordingly
2014-12-24 14:07:28 +01: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
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
tanwanirahul
2448cc8e85
Updated tests to use url_path attribute in list and detail decorators
2014-12-19 19:53:48 +05:30
Tom Christie
6d907cde9a
get_field_names, get_default_field_names
2014-12-19 12:18:40 +00:00
Tom Christie
c8d88c8c8a
Merge branch 'master' into version-3.1
2014-12-18 11:21:25 +00:00
Tom Christie
1087ccbb25
Drop print statements in tests
2014-12-18 10:39:00 +00:00
Tom Christie
87ac64e41b
Fixes for behavior with empty HTML fields.
2014-12-18 10:36:52 +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
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
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