Commit Graph

668 Commits

Author SHA1 Message Date
Paul Melnikow
a1d7aa8f71 Allow viewset to specify lookup value regex for routing
This patch allows a viewset to define a pattern for its lookup field, which the router will honor. Without this patch, any characters are allowed in the lookup field, and overriding this behavior requires subclassing router and copying and pasting the implementation of get_lookup_regex.

It's possible it would be better to remove this functionality from the routers and simply expose a parameter to get_lookup_regex which allows overriding the lookup_regex. That way the viewset config logic could be in the a subclass, which could invoke the super method directly.

I'm using this now for PostgreSQL UUID fields using https://github.com/dcramer/django-uuidfield . Without this patch, that field passes the lookup string to the database driver, which raises a DataError to complain about the invalid UUID. It's possible the field ought to signal this error in a different way, which could obviate the need to specify a pattern.
2014-01-04 16:45:03 -05:00
Tom Christie
52686420f4 Merge branch 'bennbollay-patch-1' into 2.4.0
Conflicts:
	.travis.yml
	docs/api-guide/routers.md
	rest_framework/compat.py
	tox.ini
2013-12-23 09:48:59 +00:00
Tom Christie
b7482629c3 Merge pull request #1309 from lukaszb/errors-for-renamed-fields
Should it be that way?
2013-12-21 13:58:49 -08:00
Tom Christie
71ab7cda2a Additional test for 'source' behaviour. Refs #1302 2013-12-21 21:54:51 +00:00
Lukasz Balcerzak
973f898a4b Should it be that way? 2013-12-20 17:45:56 +01:00
Tom Christie
46906b2bdc Merge pull request #1308 from lukaszb/missing-custom-validation-method-test
Added missing custom validation method test
2013-12-20 08:37:30 -08:00
Lukasz Balcerzak
71aa5f3c45 Added missing custom validation method test 2013-12-20 17:16:24 +01:00
Lukasz Balcerzak
0e3822d6e0 Updated test class name to be unique 2013-12-20 16:53:06 +01:00
Tom Christie
8894019899 Merge branch 'nullbooleanfield_testcase' of git://github.com/dpetzel/django-rest-framework into dpetzel-nullbooleanfield_testcase
Conflicts:
	rest_framework/tests/test_serializer.py
2013-12-16 13:51:57 +00:00
Craig de Stigter
4a134eefa2 Fix expansion of writable nested serializers where the inner fields have source set. 2013-12-16 15:55:54 +13:00
Tom Christie
a87c55a93a Compat fixes for django-oauth-plus versions 2.0-2.2.1 2013-12-13 21:57:07 +00:00
Tom Christie
fac6d1a36e Merge branch 'master' of git://github.com/philipforget/django-rest-framework into philipforget-master 2013-12-13 20:40:11 +00:00
Kevin Brown
90edcbf938 Fix default values always being False for browsable API
This fixes a bug that was introduced in 28ff6fb [1] for the
browsable API, specifically with how it handled default values
for boolean fields.  Previously, it had a global default for
boolean fields set to `False`, which was different than the
standard None that was used elsewhere.  Because this only needed
to be done for the browsable API, a fix was put into place that
only set the default to `False` when form data was passed into
the serializer.  This had the unintended side effect of overriding
any default set on the boolean field.

This fixes #1101 [2] by only overriding the default if the default is
`None`, which is the default for all fields.

[1]: 28ff6fb1ec
[2]: https://github.com/tomchristie/django-rest-framework/issues/1101
2013-12-13 13:20:29 -05:00
Tom Christie
9c41c007af Merge branch 'master' into 2.4.0
Conflicts:
	.travis.yml
	docs/api-guide/routers.md
	docs/topics/release-notes.md
	rest_framework/compat.py
2013-12-13 16:32:34 +00:00
Tom Christie
a129bdd0f0 Merge pull request #1234 from linovia/bugfix/nested_models_without_related_name
Fixed the nested model serializers in case of the related_name isn’t set...
2013-12-13 03:06:14 -08:00
Tom Christie
ddd17c69e7 Fix compat issues for #1231 2013-12-09 09:24:10 +00:00
Tom Christie
a6ca943faa Merge branch 'issue-1231-jsonencoder' of git://github.com/mbox/django-rest-framework into mbox-issue-1231-jsonencoder 2013-12-09 08:50:31 +00:00
Tom Christie
80ef2685e5 Merge master 2013-12-09 07:45:45 +00:00
Tom Christie
4e9385e709 Drop unneeded assert 2013-12-09 07:37:13 +00:00
Tom Christie
06d8a31e13 Catch and mask ParseErrors that occur during rendering of the BrowsableAPI. 2013-12-09 07:34:08 +00:00
kahnjw
23db6c9849 PEP8 Compliance 2013-12-06 14:52:39 -08:00
kahnjw
9ab0759e38 Add tests to pass for get_ident method in BaseThrottle class. 2013-12-06 14:21:33 -08:00
Tom Christie
910de38a9c Version 2.3.10 2013-12-06 22:13:50 +00:00
Chuck Harmston
cf6c11bd4b Raise appropriate error in serializer when making a partial update to set a required RelatedField to null (issue #1158) 2013-12-06 14:00:23 -06:00
Tom Christie
38d78b21c0 Remove Content-Type header from empty responses. Fixes #1196 2013-12-03 16:55:11 +00:00
Tom Christie
774298f145 First pass at a test for ParseErrors breaking the browsable API 2013-12-03 16:18:35 +00:00
Ian Foote
8d09f56061 Add unittests for ChoiceField metadata.
Rename 'name' to 'display_name'.
2013-11-27 11:06:42 +00:00
Malcolm Box
6af31ed394 Remove u from literals 2013-11-22 10:59:48 +00:00
Malcolm Box
263281d71d Fix issue #1231: JSONEncoder doesn't handle dict-like objects
Check for __getitem__ and then attempt to convert to a dict.
The check for __getitem__ is there as there's no universal way to
check if an object is a mapping type, but this is a likely proxy
2013-11-21 20:09:48 +00:00
Krzysztof Jurewicz
9cea6880f7 Added handling of validation errors in PUT-as-create.
Fixes #1035.
2013-11-19 15:49:31 +01:00
Xavier Ordoquy
88f5921f2f Removed the DynamicSerializerView duplication 2013-11-18 20:15:35 +01:00
Xavier Ordoquy
ad7aa8fe48 Fixed the nested model serializers in case of the related_name isn’t set. 2013-11-17 01:27:16 +01:00
Philip Forget
b86765d9c0 add auth param to request client calls 2013-11-15 12:25:32 -05:00
Alex
5136798a04 Merge branch 'master' into allow-aggregate-ordering 2013-11-12 23:40:24 +00:00
Alex
d1dc68d755 Add queryset aggregates to allowed fields in OrderingFilter 2013-11-12 23:40:07 +00:00
Mathieu Pillard
5829eb7a5b Drop u'' prefix for python 3.x compatibility 2013-11-06 12:51:40 +01:00
Mathieu Pillard
5325890821 Improve handling of 'empty' values for ChoiceField
The empty value defaults back to '' (for backwards-compatibility) but
is changed automatically to None for ModelSerializers if the `null`
property is set on the db field.
2013-11-05 17:21:18 +01:00
alexanderlukanin13
6b3500b684 Fixed UnicodeEncodeError when POST JSON via web interface; added test 2013-10-24 17:52:52 +06:00
Ross McFarland
c36122a7ba remove stray func from test 2013-10-21 14:26:21 -07:00
Ross McFarland
63e6a3b492 paginator should validate page and provide default
- use the standard paginator.validate_number method rather
  strict_postive_int.
- support optional paginator method, default_page_number, to get the default
  page number rather than hard-coding it to 1
- this allows supporting non-integer based pagination which can be an
  important performance tweak on extermely large datasets or high request
  loads
- relatively thorough unit tests of the changes
2013-10-19 21:11:27 -07:00
dpetzel
735c75abb9 add test case around ensuring proper field inference for boolean model field types 2013-10-18 21:10:49 -04:00
Tom Christie
2394f05e5a Merge pull request #1170 from craigds/write-into-foreignkey-with-source
fix writing into foreign key with non-null source
2013-10-17 07:59:29 -07:00
Tom Christie
6a40202a64 Merge pull request #1112 from tamakisquare/issue-1111
Test case and fix for issue 1111
2013-10-17 07:31:15 -07:00
badaud_t
b730aec0f4 Fix decimal support with YAMLRenderer 2013-10-17 01:08:24 +02:00
badaud_t
8a5fea06f0 Fix typo YAMLRendererTests 2013-10-17 01:07:50 +02:00
Craig de Stigter
86ea969e11 fix ticket link in test docstring 2013-10-11 15:50:07 +13:00
Craig de Stigter
7c3769f04b fix writing into foreign key with non-null source 2013-10-11 15:31:55 +13:00
Tom Christie
f18158358d Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2013-10-10 17:34:15 +01:00
Tom Christie
c3e370b168 Merge branch 'html-form-rendering' 2013-10-10 17:33:39 +01:00
Tom Christie
9e29c63895 Ensure read-only fields don't break with current HTML renderer behavior 2013-10-10 17:33:22 +01:00