Yuri Prezument
e1bbe9d514
Set allow_none = True
for CharFields with null=True
2014-01-12 10:53:54 +02:00
Yuri Prezument
6e622d644c
CharField - add allow_null argument
2014-01-12 10:53:54 +02:00
Yuri Prezument
e88e3c6ae1
Possible fix for #1330
...
Coerce None to '' in CharField.to_native()
2014-01-12 10:53:54 +02:00
Yuri Prezument
46f5c62530
Regression test for #1330 (Coerce None to '')
2014-01-12 10:53:54 +02:00
Xavier Ordoquy
f217f6870d
Removed useless try/except
2014-01-09 23:32:50 +01:00
Xavier Ordoquy
a7072eb730
Test case for #1129
2014-01-09 23:19:25 +01:00
Dustin Farris
bf5b77ce6d
Move serializer import to top-level causes test error
2014-01-09 11:42:41 -05:00
Tom Christie
c6182b78e5
Merge pull request #1341 from fredrikmollerstrand/docstring-typo-fix
...
fix docstring typos.
2014-01-09 07:51:02 -08:00
Fredrik Möllerstrand
82a48ca55e
fix docstring typos.
2014-01-09 15:41:20 +00:00
Dustin Farris
52db4eadc2
Testing nested serializers with models that have str foreign key references.
2014-01-08 16:14:27 -05:00
Tom Christie
78494401c5
Use www.django-rest-framework.org for docs instead of django-rest-framework.org due to issues with naked domains
2014-01-08 15:22:41 +00:00
Tom Christie
e3ae33017d
Added "nofollow" against docs link.
2014-01-06 15:01:45 +00:00
Paul Melnikow
3cd15fb171
Router: Do not automatically adjust lookup_regex when trailing_slash is True
...
BREAKING CHANGE
When trailing_slash is set to True, the router no longer will adjust the lookup regex to allow it to include periods. To simulate the old behavior, the programmer should specify `lookup_regex = '[^/]+'` on the viewset.
https://github.com/tomchristie/django-rest-framework/pull/1328#issuecomment-31517099
2014-01-04 16:57:50 -05:00
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
Steven Cummings
e020c51b44
FIX BaseSerializer.from_native has an altered signature
...
* base classes define it with one parameter
* BaseSerializer currently defines a second parameter, which we make optional here for method-dispatch passivity
2014-01-02 17:18:08 -06:00
S. Andrew Sheppard
d30ce2575c
fix for genericrelation saving
2013-12-23 22:31:31 -06:00
S. Andrew Sheppard
25bd6d1d4b
can't save genericrelations via nested serializers in django 1.6
2013-12-23 22:27:40 -06:00
Tom Christie
feddd16c54
Tweak test style
2013-12-23 12:04:17 +00:00
Tom Christie
3f5e3c28f5
Updated tests to pass in python 3
2013-12-23 11:55:25 +00: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
Yin Jifeng
80e9f0d64b
fix url double quoted in Django 1.6
...
get_full_path returns unicode, so we use build_absolute_uri which
returns iri_to_uri'ed one
2013-12-23 14:33:53 +08:00
amatellanes
2d6d725c2f
Simplified some functions
2013-12-22 12:39:47 +01: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
Tom Christie
a439c80cd8
Less brittle through relationship testing. Closes #1292 .
2013-12-21 21:21:53 +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
Tom Christie
0f37260254
Merge pull request #1184 from dpetzel/nullbooleanfield_fix
...
Fix infered field type for models.NullBooleanField
2013-12-16 05:50:10 -08:00
Tom Christie
4bc829d4e9
Merge pull request #1298 from craigds/fix-nested-serializers-with-renamed-fields
...
Fix nested serializers with renamed fields
2013-12-16 01:18:31 -08:00
Tom Christie
fc2dee844a
Don't import compat.py from authtoken.models. Closes #1297
2013-12-16 08:59:10 +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
Tom Christie
193af483ef
Add notes on lookup_prefix argument and why it's there even though unused by the default implementations.
2013-12-13 20:22:56 +00:00
Tom Christie
fbaba0a309
Merge pull request #1281 from alanjds/router-prefix-patch
...
'lookup_prefix' on SimpleRouter.get_lookup_regex, easing code de-duplication
2013-12-13 12:19:49 -08: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
0453cbd56b
Clean up implementation
2013-12-13 11:09:54 +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
83da4949c0
Allow NUM_PROXIES=0 and include more docs
2013-12-13 00:02:18 +00:00
Alan Justino
d3a118c728
SimpleRouter.get_lookup_regex got lookup_prefix
...
This allows @alanjds/drf-nested-routers to not duplicate/monkeypatch work made here
2013-12-10 17:14:17 -02:00
Tom Christie
3a1c40f814
Refine model manager behavior so as not to use the behavior in incorrect cases. Closes #1205
2013-12-10 08:46:44 +00: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
89f26c5e04
Add get_ident method to pass new tests.
2013-12-06 14:21:52 -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
1f8069c0a9
Boilerplate cuteness
2013-12-05 11:05:25 +00: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
Tom Christie
344cd865ab
Merge pull request #1250 from Ian-Foote/choice_field
...
Add choices to options metadata for ChoiceField.
2013-12-03 08:03:02 -08:00
Tom Christie
c1d9a96df0
Catch errors during parsing and set empty .DATA/.FILES before re-raising.
2013-12-03 08:58:05 +00:00
Pablo Recio
699ec7236b
Adds pre_delete and post_delete hooks on
2013-12-03 00:07:41 +00:00
Omer Katz
b8f8fb7779
Updated the assertion message of the ImageField.
2013-11-27 13:26:49 +02:00
Ian Foote
8d09f56061
Add unittests for ChoiceField metadata.
...
Rename 'name' to 'display_name'.
2013-11-27 11:06:42 +00:00
Ian Foote
2484fc9141
Add more context to the ChoiceField metadata.
2013-11-26 17:10:16 +00:00
Ian Foote
a38d9d5b24
Add choices to options metadata for ChoiceField.
2013-11-26 09:33:47 +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
Tom Christie
43c4e3aab8
Merge pull request #1229 from jgomezb/patch-2
...
Update urlpatterns.py
2013-11-21 01:43:07 -08: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
a8b15f4290
Another fix for nested writable serializers in case of the related_name isn’t set on the ForeignKey.
2013-11-18 15:11:29 +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
Tom Christie
7a0e2ed6f6
Version 2.3.9
2013-11-15 13:55:36 +00:00
Philip Forget
5239362951
pass oauth_timestamp to oauth_provider
2013-11-14 18:02:07 -05:00
jgomezb
6be62bc1d7
Update urlpatterns.py
...
Allow numbers in format extension.
2013-11-14 09:22:07 +01:00
Alex
e29942948f
Undo version bump
2013-11-13 12:06:59 +00:00
Alex
f4e610248b
Bump version
2013-11-12 23:46:01 +00: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
Doğan Çeçen
fd2c291c4d
Typo on api-guide/fields.md and serializers.py
2013-11-11 11:54:30 +02:00
Tom Christie
470134ae9b
Merge pull request #1217 from benpbenp/master
...
Fix object creation with reverse M2M when related_name unspecified
2013-11-08 07:15:40 -08:00
Ben Pietravalle
b7b57adee2
Fix object creation with reverse M2M when related_name unspecified
...
It seems that field.related_query_name() does not return the related_name
for reverse M2M relations when related_name is not explicitly set in the M2M field
definition.
So, change to use obj.get_accessor_name(), where obj is an instance of
RelatedObject, as are returned by a model's
_meta.get_all_related_many_to_many_objects(), or as in the tuples returned by
_meta.get_all_m2m_objects_with_model().
2013-11-08 13:19:40 +00:00
Xavier Ordoquy
d4a50429b0
Fixed a regression with ValidationError under Django 1.6
2013-11-08 13:12:40 +01: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
Rob Hudson
e33435d0da
Fixed exception handling with YAML and XML parsers.
2013-10-31 15:03:50 -07:00
S. Andrew Sheppard
458af921f3
minor typo
2013-10-29 15:10:06 -05:00
Jakub Roztočil
be55a3c5c7
Removed commented-out credits from footer to make django-debug-toolbar work.
...
The comment, although valid, caused that the Django debug toolbar's injected HTML was partially commented-out and thus the toolbar didn't work as expected.
2013-10-24 17:53:02 +02:00
Chris Guethle
7a87893b96
reworked APIException, pushing some of the status_code and detail management up. Also, makes the APIException useful in isolation (defaults to status code 500)
2013-10-24 09:40:43 -05:00
Yamila Moreno
82e9ddcf7a
Added get_filter_backends method
2013-10-24 16:16:01 +02:00
Tom Christie
0fc9d5fed9
Merge pull request #1198 from alexanderlukanin13/form-post-unicode
...
Fixed UnicodeEncodeError when POST JSON via web interface; added test
2013-10-24 05:45:55 -07:00
Tom Christie
6302307885
Update comment in get_parser_context
.
2013-10-24 13:45:16 +01:00
alexanderlukanin13
6b3500b684
Fixed UnicodeEncodeError when POST JSON via web interface; added test
2013-10-24 17:52:52 +06:00
Tom Christie
f2648fefff
Merge pull request #1187 from ross/paginator_def_val
...
paginator should validate page and provide default
2013-10-22 02:19:36 -07:00
Ross McFarland
c36122a7ba
remove stray func from test
2013-10-21 14:26:21 -07:00
Ross McFarland
f0a129dcda
retract the default page stuff.
...
better way comming in a seperate pr
2013-10-21 14:23:06 -07:00
Tom Christie
216ac8a5c1
Use lookup_url_kwarg in presave if required
2013-10-21 17:19:28 +01:00
Tom Christie
76672787cd
Added . Closes #1188 .
2013-10-21 09:47:07 +01: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
17a00be830
This fix results in models.NullBooleanField rendering as a checkbox in the browsable API
2013-10-18 21:13:20 -04: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
Tom Christie
8c60471766
Merge pull request #1172 from brutasse/fix/return-object
...
Return object in save_object
2013-10-17 07:19:38 -07:00
Bruno Renié
cc3c16eaa0
Fix a docstring to reflect what the method does
2013-10-17 16:08:17 +02: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
Omer Katz
d31fd33f4b
Allow to customize description so that markup can be accepted if needed.
2013-10-16 09:15:02 -04:00
Colin Huang
c6be12f02b
[Fix]: Error with partial=True and validate_<name>
...
The error occurs when serializer is set with partial=True and a
field-level validation is defined on a field, for which there's no
corresponding update value in .data
2013-10-15 17:05:10 -07: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
Carlton Gibson
0bbc775b95
Merge pull request #1071 from craigds/field-transform-methods
...
Feature: add transform_<fieldname> methods to serializers
2013-10-09 01:11:46 -07:00
Henry Clifford
3e94f4dc70
support args on get_object_or_404
2013-10-04 10:49:56 -04:00
Philip Douglas
a2ae469f6b
Merge remote-tracking branch 'upstream/master'
2013-10-03 11:12:55 +01:00
Craig de Stigter
dc650f77b5
add tests for transform_fieldname methods
2013-10-03 11:34:42 +13:00
Tom Christie
8d4ba478cc
Fix rendering of forms and add error rendering on HTML form
2013-10-02 16:13:34 +01:00
Tom Christie
a14f1e8864
Serializers can now be rendered directly to HTML
2013-10-02 13:45:35 +01:00
Tom Christie
1fd83adb9c
Merge branch 'master' of https://github.com/tomchristie/django-rest-framework
2013-09-26 16:09:31 +01:00
Tom Christie
75d6446c87
Allow .template_name attribute specified on view. Closes #1000
2013-09-26 16:09:08 +01:00
Tom Christie
1bd8fe4152
Whitespace fix
2013-09-25 10:36:08 +01:00
Tom Christie
e441f85109
Drop 1.3 support
2013-09-25 10:30:04 +01:00
Tom Christie
21cd638659
Merge master
2013-09-25 09:44:26 +01:00
Markus Kaiserswerth
abbe9213f9
Address pending deprecation of Model._meta.module_name in Django 1.6
2013-09-23 17:48:25 +02:00
Carlton Gibson
b82c44af48
Correct typo in doc string.
2013-09-20 14:20:21 +02:00
Carlton Gibson
f07a4f4ca3
Clear cached serializer data on save()
+ test. Fixes #1116 .
2013-09-20 14:10:46 +02:00
Colin Huang
b74c5235c5
[Add]: CustomValidationTests.test_partial_update
...
This test is to make sure that validate_<attrname> is not called when
partial=True and <attrname> is not found in .data.
2013-09-15 22:22:52 -07:00
Tom Christie
36bd4f22a7
Merge pull request #1107 from dpretty/master
...
Let JSONEncoder handle Numpy data types.
2013-09-13 11:42:15 -07:00
Tai Lee
a9dbd46c94
Refs #1109 -- Update docs. Integrate changes from feedback.
2013-09-14 00:54:44 +10:00
Tai Lee
bb3261ca48
Fixed #1105 -- Add hook for custom context in BrowsableAPIRenderer
.
...
Replace hard coded response status check with `allow_form` context
variable, so that it can be overridden in a custom renderer class.
2013-09-13 23:11:44 +10:00
Rajiv Bose
0de1a1a0ad
Typo in strings referring to Python package, django-filter.
...
On skip of django_filters related unit-tests the reason given states the Python package 'django-filters' is not install.
However, the Python package required to run django_filters related tests is 'django-filter'.
2013-09-13 11:55:16 +01:00
Philip Douglas
e5da0ff5e5
Merge remote-tracking branch 'upstream/master'
2013-09-13 10:47:06 +01:00
Philip Douglas
272a6abf91
Try a more localised fix to the data=None problem
2013-09-13 10:46:24 +01:00
David Pretty
d489c5c881
Let JSONEncoder handle Numpy data types.
...
json.JSONEncoder cannot serialize Numpy data types. Numpy arrays
and array scalars have a tolist() method which casts the object to
a standard python data type.
2013-09-13 13:36:18 +10:00
Tom Christie
cd3040737e
Merge pull request #1097 from mociepka/add_default_order_by_in_filtering
...
Add order_by to the AutoFilterSet
2013-09-12 13:24:26 -07:00
Philip Douglas
6e4bdb5596
Add missing newline at the end of test file
2013-09-12 16:04:33 +01:00
Philip Douglas
59cce01b33
Fix error when serializer gets files but no data
2013-09-12 16:03:20 +01:00
Tom Christie
195790e60b
Version 2.3.8
2013-09-11 09:09:30 +01:00
Tom Christie
5970baa201
Tweaks and docs to object-level model permissions.
2013-09-10 21:00:13 +01:00
Tom Christie
75fb4b02b4
Merge branch 'master' of git://github.com/bwreilly/django-rest-framework into bwreilly-master
2013-09-10 20:21:15 +01:00
Michał Ociepka
222c1d1122
Add order_by to the AutoFilterSet
...
`AutoFilterSet` should contains `order_by` set to all by default.
2013-09-10 12:02:14 +02:00
bwreilly
23fc9dd53f
better doc for object permissions, drop redundant has_permission call
2013-09-09 09:32:29 -07:00
bwreilly
0183c69538
removed unnecessary guardian req and view.action parsing
2013-09-09 08:39:09 -07:00
bwreilly
9ff0f6d3bf
switch to a dedicated filter for read list object permissions
2013-09-07 23:48:03 -05:00
bwreilly
118645e480
first pass at object level permissions and tests
2013-09-07 23:18:52 -05:00
bwreilly
57d6b5fb7c
necessary test settings for guardian
2013-09-07 23:16:43 -05:00
Andy Freeland
b5523bcc7d
Support customizable view EXCEPTION_HANDLER
...
Add `api_settings.EXCEPTION_HANDLER` to support custom error responses.
Fixes #907 .
2013-09-06 12:47:33 -05:00
bwreilly
b07de86ad3
some properly failing tests, set up for standard permissions
2013-09-06 12:35:06 -05:00
bwreilly
4a9dcfa760
added guardian as optional requirement, stubbed out object-level permission class
2013-09-06 11:01:31 -05:00
Tom Christie
196a895fe4
Merge pull request #1076 from edmondwong/master
...
Allow OPTIONS to retrieve PUT field metadata on empty objects
2013-09-05 12:24:17 -07:00
Edmond Wong
6e7e4fc01c
Added test for OPTIONS before object creation from a PUT
2013-09-03 12:30:18 -07:00
Yuri Prezument
745ebeca77
Handle case where obj=None in PKRelatedField.field_to_native()
...
Fixes #1072
2013-08-31 17:20:49 +03:00
Yuri Prezument
a15cda4be4
Regression test for #1072
2013-08-31 17:10:15 +03:00
Edmond Wong
3063a50fc2
Allow OPTIONS to retrieve PUT field metadata on empty objects
...
This allows OPTIONS to return the PUT endpoint's object serializer metadata when the object hasn't been created yet.
2013-08-30 18:03:44 -07:00
Tom Christie
9a5b2eefa9
Merge master
2013-08-30 09:28:33 +01:00
Tom Christie
f3ab0b2b1d
Browsable API tab preferences should be site-wide
2013-08-30 09:20:12 +01:00
Tom Christie
cba972911a
Fix failing empty serializer test
2013-08-30 09:12:39 +01:00
Tom Christie
3fba60e99c
Drop broken placeholder serializations.
2013-08-30 09:02:54 +01:00
Tom Christie
2247fd68e9
Fix multipart error when used via content-type overloading
2013-08-29 21:24:29 +01:00
Tom Christie
19f9adacb2
Merge branch 'master' into display-raw-data
2013-08-29 20:52:46 +01:00
Tom Christie
02b6836ee8
Fix breadcrumb view names
2013-08-29 20:51:51 +01:00
Tom Christie
e4d2f54529
Fix indenting on raw data forms
2013-08-29 20:39:05 +01:00
Tom Christie
44f8d1bef2
Fix tab preferences on PUT forms
2013-08-29 20:38:55 +01:00
Tom Christie
1fa2d823cc
Preserve tab preference in cookies.
2013-08-29 20:35:59 +01:00
Tom Christie
c7f3b8bebe
Include serialized content in raw data form.
2013-08-29 17:23:26 +01:00
Mathieu Pillard
11071499a7
Make ChoiceField.from_native() follow IntegerField behaviour on empty values
2013-08-29 18:10:47 +02:00
Tom Christie
37e2720a40
Add override_method
context manager and cleanup.
2013-08-29 12:55:56 +01:00
Craig de Stigter
94cd136943
add transform_<fieldname> methods to serializers, which basically do the opposite of validate_<fieldname> on a per-field basis.
2013-08-29 17:35:15 +12:00
Tom Christie
18007d6846
Simplifying raw data renderering support
2013-08-28 21:52:56 +01:00
Tom Christie
2d5e14a8d3
Throttles now use HTTP_X_FORWARDED_FOR, falling back to REMOTE_ADDR to identify anonymous requests
2013-08-28 15:32:41 +01:00
Tom Christie
97b52156cc
Added .cache
attribute on throttles.
...
Closes #1066 . More localised than a new settings key, and more
flexible in that different throttles can use different behavior.
Thanks to @chicheng for the report! :)
2013-08-28 13:34:14 +01:00
Tom Christie
4c53fb883f
Tweak MAX_PAGINATE_BY behavior in edge case.
...
Always respect `paginate_by` settings if client does not specify page
size. (Even if the developer has misconfigured, so that `paginate_by >
max`.)
2013-08-28 12:52:38 +01:00
Tom Christie
e1b54f2a2a
Merge branch 'max_paginate_by' of git://github.com/alexander-akhmetov/django-rest-framework into alexander-akhmetov-max_paginate_by
2013-08-27 20:58:30 +01:00
Alexander Akhmetov
7fb3f078f0
fix for python3
2013-08-27 17:42:10 +04:00
Tom Christie
b54cbd292c
Use view.settings for API settings, to make testing easier.
2013-08-27 12:36:06 +01:00
Tom Christie
b430503fa6
Move exception handler out of main view
2013-08-27 12:32:33 +01:00
Tom Christie
dce47a11d3
Move settings into more sensible ordering
2013-08-27 12:32:13 +01:00
Tom Christie
8d590ebfde
First hacky pass at displaying raw data
2013-08-27 11:22:19 +01:00
Alexander Akhmetov
316de3a8a3
Added max_paginate_by parameter
2013-08-26 20:14:17 +04:00
Tom Christie
ab68d355f5
Merge pull request #1058 from ericbuehl/master
...
parameterize identity field serializer class to allow for easier subclassing
2013-08-25 12:46:11 -07:00
Eric Buehl
9d3fae27fd
parameterize identity field class to allow for easier subclassing
2013-08-23 16:48:32 +00:00
Tom Christie
be0f5850c3
Extra docs
2013-08-23 16:51:34 +01:00
Tom Christie
c77e4a2c59
Merge branch 'master' into html-form-renderer
2013-08-23 16:46:14 +01:00
Tom Christie
436e66a42d
JSON responses should not include a charset
2013-08-23 16:45:55 +01:00
Tom Christie
e23d588852
Adding standard renderer attributes and documenting
2013-08-23 16:16:41 +01:00
Tom Christie
10d386ec6a
Cleanup and dealing with empty form data.
2013-08-23 16:10:20 +01:00
Tom Christie
1c935cd3d2
Fix failing test for router with no trailing slash
2013-08-23 15:18:47 +01:00
Tom Christie
005f475c6a
Don't consume .json style suffixes with routers.
...
When trailing slash is false, the lookup regex should not consume '.'
characters. Fixes #1057 .
2013-08-23 14:58:06 +01:00
Tom Christie
b72a99fef2
Merge branch 'display-nested-data' into html-form-renderer
2013-08-23 14:39:52 +01:00
Tom Christie
0966a2680b
First pass at HTMLFormRenderer
2013-08-23 14:38:31 +01:00
Tom Christie
e03854ba6a
Tweaks to display nested data in empty serializers
2013-08-23 14:06:14 +01:00
Tom Christie
e7927e9bca
Extra docs on PATCH with no object.
2013-08-23 13:35:50 +01:00
Tom Christie
110d549404
Merge pull request #1034 from KrzysiekJ/patch-create-fallback-removal
...
PATCH requests should not be able to create objects.
2013-08-23 05:34:00 -07:00
Tom Christie
95b2bf50fb
Add validation error test when passing non-file to FileField
2013-08-23 12:03:54 +01:00
Tom Christie
47d17b088a
Merge branch 'fix_937' of git://github.com/aburgel/django-rest-framework into aburgel-fix_937
2013-08-23 11:56:22 +01:00
Tom Christie
19a774f972
force_authenticate(None) also clears session info.
...
Closes #1055 .
2013-08-23 11:21:52 +01:00
Tom Christie
f631f55f8e
Tweak comment
2013-08-21 21:35:17 +01:00
Tom Christie
16ffdedd14
Merge master
2013-08-21 21:31:59 +01:00
Tom Christie
44ceef8415
Updating 2.4.0 release notes
2013-08-21 21:30:25 +01:00
Tom Christie
2bcad32dcb
If page size query param <= 0, just use default page size.
...
Closes #1028 .
2013-08-21 21:22:12 +01:00
Tom Christie
815ef50735
If page size query param <= 0, just use default page size.
...
Closes #1028
2013-08-21 21:18:46 +01:00
Tom Christie
db25aaff3a
Merge branch 'static-routes' into 0.4.0
2013-08-21 20:36:07 +01:00
Tom Christie
7cc1d38d22
Merge branch 'boolean-field-required-1004' of git://github.com/willkg/django-rest-framework
2013-08-19 21:44:52 +01:00
Tom Christie
28ff6fb1ec
Only HTML forms should have implicit default False for boolean fields
2013-08-19 21:44:47 +01:00
Tom Christie
8acee2e626
Commenting link/action decorators as pending deprecation
2013-08-19 21:02:22 +01:00
Tom Christie
28e44efe25
Merge branch 'master' into 2.4.0
2013-08-19 20:58:28 +01:00
Tom Christie
c607414f16
Merge
2013-08-19 20:36:18 +01:00
Tom Christie
5120670624
Document customizable view names/descriptions
2013-08-19 08:45:53 +01:00
Tom Christie
89b0a539c3
Move view name/description functions into public space
2013-08-19 08:24:27 +01:00
Tom Christie
a8aabe23c9
Merge branch 'master' of git://github.com/chrispaolini/django-rest-framework into chrispaolini-master
2013-08-19 07:40:30 +01:00
Christopher Paolini
5a374955b1
Updated tests for view name and description
...
Updated the tests to use the default view_name and view_description
functions in the formatter through the default in settings.
2013-08-18 00:29:05 -04:00
Christopher Paolini
11d7c1838a
Updated default view name/description functions
...
Forgot to update the default view name/description functions to the new
setup.
2013-08-17 17:52:08 -04:00
Christopher Paolini
e6662d434f
Improved view/description function setting
...
Now supports each View having its own name and description function and
overriding the global default.
2013-08-17 17:44:51 -04:00
Christopher Paolini
a95984e4d4
Settings now have default functions
...
Updated the setting to have a default function.
2013-08-16 13:23:04 -04:00
Will Kahn-Greene
430f00847a
Add test for BooleanField and required
...
This tests setting required=True on a BooleanField.
Test for issue #1004 .
2013-08-16 09:20:49 -04:00
Tom Christie
f6f69dc71d
Version 2.3.7
2013-08-16 14:03:20 +01:00
Tom Christie
7b27997a01
Merge branch 'master' of https://github.com/tomchristie/django-rest-framework
2013-08-15 21:36:54 +01:00
Tom Christie
f34b9ff049
AnonRateThrottle should always allow authenticated users. Closes #994
2013-08-15 21:36:45 +01:00
Christopher Paolini
d07dae6e79
Ability to override name/description of view
...
Added settings and additions to formatting.py
2013-08-15 12:41:52 -04:00
Chad Barrington
99083baf25
Update filters.py
...
Fixed cut n pasted get_ordering docstring for ya bro.
2013-08-14 16:01:25 -05:00
Chad Barrington
486f4c8047
Update filters.py
...
Here's a little cleanup for ya, brah!
2013-08-14 15:18:44 -05:00
Tom Christie
44401273f7
Merge pull request #1038 from jsatt/nontime_throttling
...
don't set X-Throttle-Wait-Second header if throttle wait is None
2013-08-14 05:15:57 -07:00
JT
2f03870ae1
Fix for "No module named compat"
2013-08-13 18:48:49 -05:00
Jeremy Satterfield
1d8a80f5cc
don't set X-Throttle-Wait-Second header if throttle wait is None
2013-08-13 15:31:58 -05:00
Krzysztof Jurewicz
e677f3ee5c
PATCH requests should not be able to create objects.
2013-08-13 13:26:30 +02:00
Yuri Prezument
ff1efcf60f
If null or blank - don't save the nested object
2013-08-12 21:06:37 +03:00
Yuri Prezument
901d2b0eb8
Failing test case for nullifying nested object
2013-08-12 21:06:37 +03:00
Yuri Prezument
abe655e061
Make OneToOneSource.target nullable
2013-08-12 21:06:37 +03:00
Yuri Prezument
cd5f1bb229
Fix PATCH button title in template
2013-08-12 15:44:00 +03:00
Tom Christie
fbd4c4ee8f
Merge pull request #1030 from etos/patch-2
...
Spelling correction on read_only_fields err msg
2013-08-12 01:25:36 -07:00
Dan Stephenson
bbdcbe9452
Spelling correction on read_only_fields err msg
...
just spotted extras
2013-08-10 01:22:47 +01:00
Dan Stephenson
edd696292c
Spelling correction on read_only_fields err msg
2013-08-10 01:12:36 +01:00
Kevin Brown
103fed9667
Fixed reversed arguments in assertion
2013-07-26 10:59:51 -04:00
Alex Burgel
db9672d304
Add support for removing field files by sending an empty string
2013-07-24 17:24:29 -04:00
Pavel Zinovkin
b6d6feaa02
Fixed test
2013-07-21 22:43:19 +04:00
Pavel Zinovkin
2e18fbe373
Updated EmailField error message. This one already available in django translations.
...
https://github.com/django/django/blob/master/django/conf/locale/ru/LC_MESSAGES/django.po#L343
2013-07-21 17:03:58 +04:00
Alex Burgel
eaae8fb2d9
Combined link_* and action_* decorators into detail_route and list_route, marked the originals as deprecated.
2013-07-15 18:35:13 -04:00
Alex Burgel
ca7ba07b4e
Introduce DynamicDetailRoute and DynamicListRoute to distinguish between different route types
2013-07-15 17:59:37 -04:00
Alex Burgel
e14cbaf696
Changed collection_* decorators to list_*
2013-07-15 17:59:36 -04:00
Alex Burgel
f022743078
Rename router collection test case
2013-07-15 17:59:36 -04:00
Alex Burgel
8d521c068a
Revert route name change and add key to Route object to identify different route types
2013-07-15 17:59:36 -04:00
Alex Burgel
d72603bc6a
Add support for collection routes to SimpleRouter
2013-07-15 17:59:03 -04:00
Tom Christie
82145e2b06
Only include APISimpleTestCase and APILiveServerTestCase from django 1.4 onwards
2013-07-15 21:54:13 +01:00
Tom Christie
ae63c49777
Added test case classes
2013-07-15 11:38:38 +01:00
Tom Christie
3032a06c9b
Use absolute import style
2013-07-09 13:12:28 +01:00
Gertjan Oude Lohuis
db863be10c
Add an ModelAdmin for easy management of Tokens
2013-07-09 12:19:13 +02:00
Tom Christie
8f79caf9d1
Use 'force_text', not 'unicode', for compat across python version
2013-07-05 09:07:18 +01:00
Tom Christie
676ab4971c
Merge branch 'remove-hold-down-control-messages' of git://github.com/rouge8/django-rest-framework into rouge8-remove-hold-down-control-messages
2013-07-05 08:55:24 +01:00
Tom Christie
9e4e2c60f7
Merge branch 'master' into 2.4.0
2013-07-04 20:31:26 +01:00
Tom Christie
99794773cf
Merge pull request #962 from tomchristie/test-client
...
APIClient and APIRequestFactory
2013-07-04 05:50:04 -07:00
Tom Christie
5fa100245c
Update parser docstrings. Closes #968 .
2013-07-04 12:47:35 +01:00
Andy Freeland
7d43f41e4a
Remove 'Hold down "Control" ...' message from help_text
...
When getting the help_text from a field where `many=True`, Django
appends 'Hold down "Control", or "Command" on a Mac, to select more than
one.' to the help_text. This makes some sense in Django's ModelForms,
but no sense in the API.
2013-07-04 01:51:24 -04:00
Tom Christie
0a722de171
Complete testing docs
2013-07-01 13:59:05 +01:00
Tom Christie
c9485c783a
Rename to force_authenticate
2013-06-29 22:53:15 +01:00
Tom Christie
ab799ccc3e
Simplify APIClient implementation
2013-06-29 21:34:47 +01:00
Tom Christie
664f8c6365
Added APIClient.authenticate()
2013-06-29 21:02:58 +01:00
Tom Christie
35022ca921
Refactor SessionAuthentication slightly
2013-06-29 08:14:05 +01:00
Tom Christie
f7db06953b
Remove unneeded tests.utils, superseeded by APIRequestFactory, APIClient
2013-06-29 08:06:11 +01:00
Tom Christie
90bc07f3f1
Addeded 'APITestClient.credentials()'
2013-06-29 08:05:08 +01:00
Tom Christie
f585480ee1
Added APIClient
2013-06-28 17:50:30 +01:00
Tom Christie
7224b20d58
Added APIRequestFactory
2013-06-28 17:17:39 +01:00
Tom Christie
05d8a90e94
Merge branch 'master' into writable-nested-modelserializer
2013-06-28 09:36:17 +01:00
Tom Christie
4ee9cdc7af
Fix compat datetime import when oauth2 provide does not support timezone aware datetimes
2013-06-28 09:35:52 +01:00
Tom Christie
58d38d694e
Merge branch 'master' into writable-nested-modelserializer
2013-06-28 09:07:09 +01:00
Tom Christie
379ad8a824
pending deprecations -> deprecated
2013-06-27 20:36:14 +01:00
Tom Christie
3fcc01273c
Remove deprecated code
2013-06-27 20:29:52 +01:00
Tom Christie
7ba2f44a0f
Version 2.3.6
2013-06-27 13:00:05 +01:00
Tom Christie
e0dddbc5de
Merge branch 'master' of https://github.com/tomchristie/django-rest-framework
2013-06-27 12:32:46 +01:00
Tom Christie
96f41fd12d
Use imported views to expose python 2.6 bug. Refs #943
2013-06-27 11:58:34 +01:00
Tom Christie
7e67ad666b
Merge pull request #953 from j4mie/prevent-duplicate-routing
...
Prevent dynamically routing to a method that is already routed to.
2013-06-26 15:37:42 -07:00
Jamie Matthews
c127e63c32
Raise exception when attempting to dynamically route to a method that is already routed to. Fixes #940
2013-06-26 23:00:42 +01:00
Tom Christie
91b9fcb0ba
Minor test cleanup
2013-06-26 22:43:17 +01:00
Tom Christie
35e4d1cf9c
Merge pull request #943 from trwired/utf8safedocs
...
Make browsable API views play nice with utf-8
2013-06-26 14:41:07 -07:00
Tom Christie
69e5e3cc0d
Use timezone aware datetimes with oauth2 provider, when supported. Closes #947 .
2013-06-26 21:18:13 +01:00
Igor Kalat
c8b0e6c40f
Refactored get_view_description, moved appropriate tests to test_description.py
2013-06-26 22:12:02 +02:00
Tom Christie
715bd47dfa
Use AUTH_USER_MODEL consistently between various Django versions. Closes #946
2013-06-26 17:56:42 +01:00
Igor Kalat
2bf5f63050
Make browsable API views play nice with utf-8
2013-06-22 19:21:28 +02:00
Tom Christie
8cc63b09f6
Add support for StreamingHttpResponse. Closes #939
2013-06-21 22:42:04 +01:00
Tom Christie
8b0d4115c6
Merge pull request #941 from FreakyDug/master
...
Fixed a couple of small problems I found when using the action decorator.
2013-06-21 14:23:40 -07:00
Tom Christie
209b65f426
Update assertion error to reference 'base_name' argument, not incorrect 'name' argument. Closes #933
2013-06-21 22:13:25 +01:00
Tom Christie
3d4bb4b553
Ensure action kwargs properly handdled. Refs #940 .
2013-06-21 22:03:07 +01:00
Philip Douglas
fa9f5fb8dc
Allow uppercase methods in action decorator.
...
Previously, using uppercase for the method argument would silently fail
to route those methods.
2013-06-21 16:28:17 +01:00
Tom Christie
6d2ca75d8e
Don't raise AttributeError on views with no model or queryset, when using DjangoModelPermissions
2013-06-18 11:10:56 +01:00
Tom Christie
4ad1094968
HyperlinkedModelSerializer supports overriding of 'url' field. Closes #936
2013-06-17 15:09:36 +01:00
Tom Christie
52298480c2
Clean up
2013-06-14 15:39:56 +01:00
Tom Christie
df957c8625
Fix and tests for ScopedRateThrottle. Closes #935
2013-06-14 14:18:40 +01:00
Tom Christie
614d8fec3c
Merge pull request #929 from mhsparks/positive-integer-field
...
Added test for custom fields with min_value and max_value validators
2013-06-12 12:39:57 -07:00
Tom Christie
c4ab77b9e9
Merge pull request #926 from davesque/master
...
I was having problems with a custom field that used a min_value validator...
2013-06-12 12:38:35 -07:00
inglesp
b1847412b5
Typo
2013-06-12 20:00:33 +02:00
Mark Hughes
82c515c19c
Added test for custom fields with min_value and max_value validators
2013-06-12 17:36:16 +01:00
David Sanders
fcaca73709
Pep8 lint
2013-06-11 16:10:25 -06:00
David Sanders
656897c2da
Update ModelField to work with a broader range of fields
...
Add support for fields that use min and max value validators.
2013-06-11 16:09:32 -06:00
Ethan Fremen
d89aade343
Allow the default router to have a custom name.
...
Signed-off-by: Ethan Fremen <ethan@matterport.com>
2013-06-07 19:49:18 -07:00
Ethan Fremen
ae2887ffc4
Set the args and kwargs before initializing the request.
...
Allows get_parser_context to function correctly.
Signed-off-by: Ethan Fremen <ethan@matterport.com>
2013-06-07 19:25:39 -07:00
Tom Christie
db8d61196a
Merge pull request #915 from aburgel/fix-oauth-bad-consumer-key
...
Fix serialization exception caused by non-existent consumer
2013-06-06 00:58:54 -07:00
Tom Christie
40e09472d8
Never deepcopy validators. Closes #913
2013-06-06 08:56:39 +01:00
Alex Burgel
ecb8a460c9
Fix serialization exception when using non-existent consumer
2013-06-05 17:02:44 -04:00