Commit Graph

1345 Commits

Author SHA1 Message Date
Dave Kuhn
104614c600 Modified to allow form overloading to take precedence over header. 2013-03-04 07:14:38 +11:00
Pierre Dulac
c449dd4f4d Properly fail to wrong Authorization token type 2013-03-02 20:17:14 +01:00
Pierre Dulac
8809c46ab5 Add new OAuth2 tests 2013-03-02 20:16:18 +01:00
Dave Kuhn
9dccbcbb38 Support for X-HTTP-Method-Override header 2013-03-03 00:23:32 +11:00
Pierre Dulac
721dc519ec Use django.utils to import the unittest module
for a cross python versions compatibility
2013-03-01 23:27:47 +01:00
Stephan Groß
5e5cd6f7f7 Fix for django 1.3 compatibility 2013-03-01 17:15:39 +01:00
Stephan Groß
681ad6f537 Add none testcases to date, datetime, time 2013-03-01 17:04:30 +01:00
Stephan Groß
12905449a5 Add format class attributes 2013-03-01 16:59:47 +01:00
Stephan Groß
9c964cf37b Add new ISO8601 setting + integration 2013-03-01 16:50:18 +01:00
Stephan Groß
a9d36d4726 Add docs update - part 1 2013-03-01 16:50:18 +01:00
Stephan Groß
f208d8d2bb Add drf settings + output format + testcases 2013-03-01 16:50:18 +01:00
Stephan Groß
ef5752f8b5 Fix for python 3 support 2013-03-01 16:48:20 +01:00
Stephan Groß
b2165cc76a Fix for python 3 support - thanks @Linovia 2013-03-01 16:48:20 +01:00
Stephan Groß
9157db5da0 Add better date / datetime validation (pull 2)
addition to #631 with update to master + timefield support
2013-03-01 16:48:20 +01:00
Pierre Dulac
d4c2267187 Clean up some print and comments 2013-03-01 12:08:28 +01:00
Pierre Dulac
9d5c306038 Improve the django-oauth2-provider import block
to avoid naming collision with `oauth2` used for OAuth 1
2013-03-01 11:53:30 +01:00
Pierre Dulac
aed3c13471 Merge branch 'master' into oauth2-authentication
Conflicts:
	rest_framework/tests/authentication.py
2013-03-01 11:50:11 +01:00
Craig de Stigter
84be169353 fix function names and dotted lookups for use in PrimaryKeyRelatedField.field_to_native (they work in RelatedField.field_to_native already) 2013-03-01 16:13:04 +13:00
Pierre Dulac
da9d7fb8ec Add the OAuth2Authentication class 2013-03-01 02:08:58 +01:00
Pierre Dulac
4e1f77db1a Add django-oauth2-provider to the installed apps 2013-03-01 02:07:53 +01:00
Pierre Dulac
468b5e43e2 Add tests for OAuth2 authentication 2013-03-01 02:06:20 +01:00
Tom Christie
13b3af0d22 Auth is no longer lazy. Closes #667.
More consistent auth failure behavior.
2013-02-28 17:58:58 +00:00
Tom Christie
4e14b26fa9 Drop unused import 2013-02-28 13:42:08 +00:00
Tom Christie
183d3ec6a4 Move ModelSerializer field_mapping into an attribute for easier overriding. 2013-02-28 13:41:42 +00:00
Tom Christie
02ee6e5bf0 Fix out of date docstrings. Closes #689. 2013-02-27 22:15:28 +00:00
Tom Christie
a1dbd93f54 assertEquals -> assertEqual 2013-02-27 21:15:00 +00:00
swistakm
55ea5b9460 import compat version of unittest 2013-02-27 10:58:13 +01:00
swistakm
a4304458f5 runtest.settings fixed if django-oauth-plus or oauth2 are not installed
oauth_provider can be added to INSTALLED_APPS only if these packages are installed
2013-02-26 11:27:06 +01:00
swistakm
d84c2cf275 OAuth tests now are skipped unless django-oauth-plus and oauth2 are installed. 2013-02-26 11:25:27 +01:00
swistakm
59a6f5f463 Move oauth2 and django-oauth-plus imports to compat and fix some minor issues
- alias oauth2 as oauth
- remove rouge print
- remove docstring markups
- OAuthAuthentication.authenticate() now returns (user, token) two-tuple on success
- don't set request.user because it's already set
2013-02-26 11:22:21 +01:00
Danilo Bargen
e476dcb8c7 Changed AttributeError to AssertionError 2013-02-26 09:38:57 +01:00
Danilo Bargen
ec4d79bcaf Show class name in exception message 2013-02-25 23:02:42 +01:00
Danilo Bargen
3e6f99e273 Improved exception message for missing serializer model meta option 2013-02-25 22:34:05 +01:00
swistakm
1aed9c1604 add OAuthAuthentication class 2013-02-25 16:58:16 +01:00
swistakm
ced22db7cf add django-oauth-plus & oauth2 to installed apps in runtests settings.py 2013-02-25 16:57:45 +01:00
swistakm
1062d71f8b add tests for OAuth authentication 2013-02-25 16:56:14 +01:00
Omer Katz
c2c12858e5 Replaced status numbers with the statuses constants from the status model. 2013-02-25 16:59:40 +03:00
Omer Katz
62be5470b3 Fixed misspelled remark in comments. 2013-02-25 16:48:21 +03:00
Omer Katz
3221a088ab Fixed misspelled remark in comments. 2013-02-25 16:47:47 +03:00
Omer Katz
c05340c91b Fixed misspelled remarks in comments. 2013-02-25 16:47:07 +03:00
Omer Katz
cc13e95d5e Fixed misspelled remark in comments. 2013-02-25 16:44:44 +03:00
Omer Katz
8d806d0cef Fixed misspelled remark in comments. 2013-02-25 16:44:19 +03:00
Tom Christie
e1f0001f92 Fix and test for #645
Yuck, pickle is weird.  Closes #645.
2013-02-22 23:00:07 +00:00
Tom Christie
9f98455362 Formatting 2013-02-22 23:00:07 +00:00
Tom Christie
26ba11101b Merge pull request #669 from yprez/datetimefield_fail
DateTimeField validation with non-str value
2013-02-22 14:15:57 -08:00
Tom Christie
bba918fb2a Fix and test case for #653
Closes #653
2013-02-22 22:13:06 +00:00
Tom Christie
bc87bf13b4 Tests and fix for #666.
Closes #666.
2013-02-22 22:02:42 +00:00
Tom Christie
d44eb20942 Version 2.2.1 2013-02-22 20:47:41 +00:00
Tom Christie
3357a36e37 assert package requirements are met for YAMLRenderer 2013-02-22 20:46:43 +00:00
Tom Christie
0c7d6062b2 Py3/2 compat fixes for uncode view names/descriptions 2013-02-22 20:18:16 +00:00
Tom Christie
09f2bdd219 Added test for utf8 strings in docstrings of views. 2013-02-22 20:17:47 +00:00
Tom Christie
78da724964 Merge with master 2013-02-22 19:48:25 +00:00
Tom Christie
a39de47cc7 XML cleanup 2013-02-22 19:46:47 +00:00
Tom Christie
569c3a28e6 Add forbid_dtd flag, since we don't need any DTDs. 2013-02-22 19:41:09 +00:00
Tom Christie
3ad5ebaea6 Fix name fallback for BrowsableAPIRenderer 2013-02-22 13:38:20 +00:00
Tom Christie
44b59969ce Merge pull request #672 from wronglink/unicode__doc__
Fixed UnicodeDecodeError on get_name and get_description methods
2013-02-22 05:37:15 -08:00
Tom Christie
dcee027fa9 defusedxml for security fix.
As per:
http://blog.python.org/2013/02/announcing-defusedxml-fixes-for-xml.html
2013-02-22 13:17:22 +00:00
Michael Elovskikh
aa95ccbab7 Fixed UnicodeDecodeError on get_name and get_description methods 2013-02-22 18:50:09 +06:00
Tom Christie
b261515afa XML cleanup 2013-02-22 12:36:52 +00:00
Michael Elovskikh
7b9e134a8f Minimal appearance fixes in addition to #663 2013-02-22 17:49:10 +06:00
Tom Christie
048ef6a039 Polishing touches to #663 2013-02-22 08:39:26 +00:00
Yuri Prezument
5f531fc1ea Catch TypeError as well as ValueError when parsing dates, ref #699 2013-02-21 15:54:31 +02:00
Yuri Prezument
8fa82822a0 Add assertion in test 2013-02-21 15:39:14 +02:00
Yuri Prezument
1b4c078db2 Failing test case for #669 2013-02-21 12:22:09 +02:00
Tom Christie
03afaee423 Merge branch 'browsable_api_patch' of https://github.com/wronglink/django-rest-framework into generic-form-input 2013-02-20 12:18:57 +00:00
Michael Elovskikh
2fb6fa2dd3 Minimal forms appearance improvements 2013-02-20 17:15:12 +06:00
Tom Christie
160d10d348 Fix docstring 2013-02-20 08:46:00 +00:00
Michael Elovskikh
533e472352 Added tabs between object form and generic content form on POST form 2013-02-15 18:25:36 +06:00
Michael Elovskikh
3195f72784 POST form using new form.html template 2013-02-15 16:39:24 +06:00
Michael Elovskikh
d3f6536365 Added tests for PATCH form in the Browsable API 2013-02-15 15:44:11 +06:00
Tom Christie
367909e2c2 Merge pull request #657 from dgaus/master
Make is_simple_callable consider default arguments
2013-02-15 01:13:14 -08:00
Tom Christie
6dd867c8fe Merge pull request #660 from pelme/timefield
Added a serializer TimeField
2013-02-15 01:12:03 -08:00
Tom Christie
c1a40c5899 Drop unused import. 2013-02-15 09:06:05 +00:00
Michael Elovskikh
8fdf925015 Added tabs between object form and generic content form on PUT/PATCH form
Some extra behaviour to `BrowsableAPIRenderer` to handle PATCH form.
Added PATCH button on generic content PUT form.
Tabs between object form and generic content form on PUT/PATCH form wich are
both allways visible now.

Fix #570
Refs #591
2013-02-15 14:41:12 +06:00
Andreas Pelme
5a5df18d18 Added a serializer TimeField 2013-02-14 21:19:51 +01:00
Tom Christie
af686ec11a request.DATA should use empty QueryDict for no data, not None. 2013-02-14 13:02:28 +00:00
Tom Christie
9d3153ed04 Fix broken clone_request 2013-02-14 12:50:55 +00:00
Tom Christie
24ed0fa4b9 Drop accidental (uneeded) validation logic. 2013-02-14 12:26:02 +00:00
Diego Gaustein
40b13a869b Make is_simple_callable consider fields which have default arguments 2013-02-13 20:34:23 -03:00
Tom Christie
f17bae8aac Version 2.2.0 2013-02-13 14:05:57 +00:00
Tom Christie
72412b69f0 Set PASSWORD_HASHERS to massively speed up tests (almost x10) 2013-02-13 12:36:05 +00:00
Tom Christie
b58e763287 Fix pk relations tests which were not running. 2013-02-13 12:33:04 +00:00
Tom Christie
d7417022f3 Kick travis again. 2013-02-13 11:51:03 +00:00
Tom Christie
31f45907e5 Kick travis. Meh. 2013-02-13 11:42:57 +00:00
Tom Christie
018298deb8 Relational fields use same field_to_native logic as regular fields.
Fixes #637. Closes #638.
2013-02-12 23:03:04 +00:00
Tom Christie
f341ead499 Test for None in 'dotted.source' component.
Closes #643.
2013-02-12 23:01:20 +00:00
Tom Christie
15fa42b647 Unicode literal fix 2013-02-12 23:00:43 +00:00
Tom Christie
f505b2e440 Clean up field_to_native logic 2013-02-12 22:59:01 +00:00
Tom Christie
724906c516 Test for #637. 2013-02-12 22:58:38 +00:00
Tom Christie
7f797abc19 Remove deprecated APIs from tests 2013-02-12 20:07:35 +00:00
Tom Christie
41ac1e8f32 Raise warnings if 'request' not in context for hyperlinked fields. 2013-02-12 13:54:50 +00:00
Tom Christie
388e617366 Raise warnings on implicit many serialization 2013-02-12 13:53:45 +00:00
Tom Christie
23fbbb1e16 Drop six module from coverage. 2013-02-12 08:58:29 +00:00
Tom Christie
f5a0275547 Tidy up internal view permission checking logic.
Also document correctly - these methods are now public and will fall
under the deprecation policy from now on.
2013-02-12 08:58:28 +00:00
Tom Christie
09b01887f2 New style object-level permission checks 2013-02-12 08:58:28 +00:00
Tom Christie
aa03425c09 Merge pull request #651 from fernandogrd/master
DictWithMetadata.__getstate__ was never called (Fix for 645)
2013-02-11 23:27:35 -08:00
Fernando Rocha
ea004b5e7a Make use o issubclass instead of isinstance (fix issue #645)
Because __mro__ is a list of classes and not instances.
DictWithMetadata.__getstate__ was never called

Signed-off-by: Fernando Rocha <fernandogrd@gmail.com>
2013-02-11 19:18:22 -03:00
Tom Christie
baacdd821f Add object permissions tests. 2013-02-10 20:08:46 +00:00
Tom Christie
870f10486c Fix incorrect 401 vs 403 response, if lazy authentication has not taken place. 2013-02-10 20:08:36 +00:00
Tom Christie
29136ef2c6 Enforce PUT-as-create permissions 2013-02-10 16:50:46 +00:00
Tom Christie
69dcf13da9 Bugfix for DjangoModelPermissions. Fixes #437
Turns out that Django's default permissions backend always returns
False when checking object-level permissions, even if the user does
have valid global permissions.
2013-02-10 16:43:52 +00:00
Tom Christie
4c8bd40465 Tests for DjangoModelPermissions. 2013-02-10 16:42:24 +00:00
Tom Christie
670ac25b25 Allow serializers to handle dicts as well as objects. Fixes #447. 2013-02-07 12:57:40 +00:00
Tom Christie
8113d66126 Use new style of required=<bool> not blank or null 2013-02-07 09:24:34 +00:00
Tom Christie
5813a09512 Use new many=True relations style. 2013-02-07 09:14:58 +00:00
Tom Christie
c18fb0d695 Added a post_save hook. Closes #558. 2013-02-06 21:28:03 +00:00
Tom Christie
123c6cbc7c Merge pull request #640 from mjtamlyn/remove-naked-excepts
Purge naked excepts.
2013-02-06 05:21:01 -08:00
Marc Tamlyn
11610e7c3c Try the correct NoReverseMatch location. 2013-02-06 13:10:54 +00:00
Marc Tamlyn
bd7977eed7 Purge naked excepts.
Most of these had obvious exceptions which would be thrown. Some I'm not
sure about but they should at least catch only Exception so as not to
ignore SystemExit and other inappropriate Error classes.
2013-02-06 13:05:17 +00:00
Tom Christie
55fd646631 Set many explicitly from mixins. Refs #564. 2013-02-06 13:04:11 +00:00
Tom Christie
4788c87b76 Fix mismatch between template blocks and docs.
Fixes #639.
2013-02-06 12:35:05 +00:00
Tom Christie
efb798cebc Don't deprecate 'exclude'
Need to track outcome of Django's #19733, and decide on approach
accordingly.
2013-02-06 08:48:41 +00:00
Tom Christie
7dc4bce4e2 Fix 2.6 compat 2013-02-04 21:35:47 +00:00
Tom Christie
937ef00808 Merge branch 'master' into 2.2 2013-02-04 21:19:11 +00:00
Tom Christie
221e77d357 Fix incorrect test name. Fixes #635 2013-02-04 21:18:54 +00:00
Tom Christie
0a38bc9db8 Deal with parser encodings properly 2013-02-04 21:16:34 +00:00
Tom Christie
b052c92ac3 Cleanup imports
Mostly adding `from __future__ import unicode_literals` everywhere.
2013-02-04 20:55:35 +00:00
Tom Christie
b82227e517 remove broken import 2013-02-04 20:38:18 +00:00
Tom Christie
8e846bdf52 Merge branch 'py3k' into 2.2
Conflicts:
	rest_framework/relations.py
	rest_framework/serializers.py
	rest_framework/tests/relations_hyperlink.py
	rest_framework/tests/relations_slug.py
2013-02-04 20:37:09 +00:00
Tom Christie
97f2b99495 Don't use deprecated xml style 2013-02-04 19:51:50 +00:00
Tom Christie
2c634c0e5c Use request.QUERY_PARAMS internally
(instead of request.GET)
2013-02-04 19:51:31 +00:00
Tom Christie
00752dcd2a Py3k cleanup 2013-02-01 15:07:51 +00:00
Tom Christie
f4f237e3ee 3.2, 3.3 compat 2013-02-01 14:03:28 +00:00
Tom Christie
d9c7b1c585 Merge branch 'p3k' of https://github.com/linovia/django-rest-framework into working
Conflicts:
	rest_framework/authentication.py
	rest_framework/relations.py
	rest_framework/serializers.py
	rest_framework/settings.py
	rest_framework/tests/authentication.py
	rest_framework/tests/genericrelations.py
	rest_framework/tests/generics.py
	rest_framework/tests/relations_hyperlink.py
	rest_framework/tests/relations_nested.py
	rest_framework/tests/relations_pk.py
	rest_framework/tests/serializer.py
2013-02-01 11:58:55 +00:00
Tom Christie
d9b73e15c8 Serializers take many=<bool> argument. 2013-01-31 17:06:23 +00:00
Tom Christie
f1e665673f Tidying 2013-01-30 20:38:11 +00:00
Tom Christie
e4ac566625 Add dprecation warnings 2013-01-30 20:33:50 +00:00
Tom Christie
e24d29ec05 Tweak empty list implementation 2013-01-30 14:21:18 +00:00
Tom Christie
be6df3ae3c Merge branch 'master' into many-fields
Conflicts:
	rest_framework/relations.py
2013-01-30 13:41:56 +00:00
Tom Christie
9a4d01d687 Formatting fixes 2013-01-30 12:41:26 +00:00
Tom Christie
4601487248 Use many=True style for pk relations. 2013-01-30 12:41:18 +00:00
Fernando Rocha
41364b3be0 Added regretion test for issue #632
Signed-off-by: Fernando Rocha <fernandogrd@gmail.com>
2013-01-30 09:22:36 -03:00
Fernando Rocha
fceacd830f Fix processing of ManyToManyField when it is empty
Signed-off-by: Fernando Rocha <fernandogrd@gmail.com>
2013-01-29 18:46:05 -03:00
Andrea de Marco
85e6360792 Update rest_framework/serializers.py 2013-01-28 22:08:40 +01:00
Tom Christie
a3a06d11cc Ensure model field validation is performed for ModelSerializers with a custom restore_object method. Fixes #623. 2013-01-28 12:56:42 +00:00
Michael Elovskikh
cb5cc70cba Login page styles fix. Closes #618. Made with 🍪 2013-01-28 18:01:44 +06:00
Tom Christie
b5d8f50f9d Merge branch 'master' into many-fields 2013-01-26 21:37:43 +00:00
Tom Christie
a75db4cfb8 Version 2.1.17 2013-01-26 20:59:15 +00:00
Tom Christie
4d43e9f7de Test for custom pagination serializers. Also refs #604. 2013-01-26 20:55:09 +00:00
Tom Christie
a51bca32fd Fix issues with custom pagination serializers 2013-01-26 20:54:41 +00:00
Tom Christie
b41f258ee5 Serializers should accept source='*' argument. Fixes #604.
(Test also incoming)
2013-01-26 20:54:03 +00:00
Tom Christie
b783887c33 Test for GFK, using RelatedField. Refs #607. 2013-01-25 14:36:27 +00:00
Tom Christie
b73d7e9bb4 Cleaning up GFK test module. Refs #607. 2013-01-25 13:58:19 +00:00
Tom Christie
d6628d4e78 Test for #552. 2013-01-24 08:58:19 +00:00
Tom Christie
4a4fe60e33 Merge pull request #603 from minddust/validation_error
Add failed testcase for fieldvalidation + fix
2013-01-23 01:21:26 -08:00
Tom Christie
b7abf14d3a Pass PaginationSerializer context through to child ModelSerializer on init. Fixes #595. Fixes #552. 2013-01-23 07:38:13 +00:00
Stephan Groß
69e62457ef Improve validate_<fieldname> fix 2013-01-23 07:53:54 +01:00
Stephan Groß
f0071dbccd Add separate test for failed custom validation 2013-01-23 07:52:56 +01:00
Tom Christie
b7ab2aee46 Merge branch 'master' into unauthenticated_response
Conflicts:
	docs/api-guide/authentication.md
2013-01-22 09:11:38 +00:00
Tom Christie
65b62d64ec WWW-Authenticate responses 2013-01-21 21:29:49 +00:00
Tom Christie
778b0dddef Merge pull request #602 from kevinastone/master
TestCase for `format_suffix_patterns`
2013-01-21 09:51:33 -08:00
Tom Christie
98bffa68e6 Don't do an inverted if test. 2013-01-21 17:42:39 +00:00
Kevin Stone
e7916ae0b1 Tweaked some method names to be more clear and added a docstring to the test case class.
Signed-off-by: Kevin Stone <kevinastone@gmail.com>
2013-01-21 09:37:50 -08:00
Stephan Groß
2250ab6418 Add possible solution for field validation error 2013-01-21 12:50:39 +01:00
Stephan Groß
dc1c57d595 Add failed testcase for fieldvalidation 2013-01-21 12:45:30 +01:00
Kevin Stone
71bd2faa79 Added test case for format_suffix_patterns to validate changes introduced with issue #593.
Signed-off-by: Kevin Stone <kevinastone@gmail.com>
2013-01-20 13:03:38 -08:00
Tom Christie
771821af7d Include kwargs in included URLs 2013-01-19 18:39:39 +00:00
Tom Christie
69083c3668 Drop print statement 2013-01-19 18:36:25 +00:00
Tom Christie
2c05faa52a format_suffix_patterns now support include-style nested URL patterns. Fixes #593 2013-01-19 16:56:48 +00:00
Tom Christie
37d49429ca Raise assertion errors if @api_view decorator is applied incorrectly. Fixes #596. 2013-01-19 15:51:14 +00:00
Tom Christie
a98049c5de Drop unneeded test 2013-01-19 15:25:32 +00:00
Tom Christie
4eb5861f36 Starting migration from ManyField to Field(many=True) 2013-01-18 23:36:35 +00:00
Tom Christie
211bb89eec Raise Validation Errors when relationships receive incorrect types. Fixes #590. 2013-01-18 21:29:21 +00:00
Tom Christie
6385ac519d Revert accidental merge. 2013-01-18 19:47:57 +00:00
Mark Aaron Shirley
221f7326c7 Use None to delete nested object as opposed to _delete flag 2013-01-16 16:04:20 -08:00
Mark Aaron Shirley
34e14b01e4 Move nested serializer logic into .field_from_native() 2013-01-16 16:04:20 -08:00
Mark Aaron Shirley
2d62bcd5aa Add one-to-one nested update and delete functionality 2013-01-16 16:04:20 -08:00
Mark Aaron Shirley
8e5003a1f6 Update errant test comment 2013-01-16 16:04:20 -08:00
Mark Aaron Shirley
46eea97380 Update one-to-one test names 2013-01-16 16:04:19 -08:00
Mark Aaron Shirley
e66eeb4af8 Remove commented out debug code 2013-01-16 16:04:19 -08:00
Mark Aaron Shirley
72c04d570d Add nested create for 1to1 reverse relationships 2013-01-16 16:04:19 -08:00
Tom Christie
eb3d4d0e93 Drop bits of relations_slug tests which don't mirror existing tests. 2013-01-16 14:32:51 +00:00
Tom Christie
875841c76a Merge branch 'master' of https://github.com/steve-gregory/django-rest-framework into slug-field-fixes 2013-01-16 13:24:09 +00:00
Tom Christie
4a7139e41d Tweaks 2013-01-15 21:49:24 +00:00
Steven Gregory
87029122c2 Added a new file 'relations_slug.py' that tests Nullable Foreign Keys and the SlugRelatedField 2013-01-15 13:49:48 -07:00
Tom Christie
71e55cc4f6 Merge with latest master 2013-01-15 17:53:24 +00:00
Tom Christie
52847a215d Fix implementation 2013-01-15 17:50:51 +00:00
Tom Christie
685706ff2b Merge pull request #584 from radiosilence/master
Adding timedelta support to JSONEncoder, and an example of how to add decode support to a serializer.
2013-01-15 05:25:24 -08:00
James Cleveland
4fc3b1ba56 Add timedelta encoder to the JSONEncoder class.
Whilst this commit adds *encoding* of timedeltas to a string of a floating
point value of the seconds, you must add your own serializer field for
whatever timedelta model field you are using. This is because Django doesn't
support any kind of timedelta field out-of-the-box, so you have to either
implement your own or use django-timedelta.

If this is the case and you want to serialise timedelta input, you will have
to implement your own special field to use for the timedelta, which is not
included in core as it is based on a 3rd party library. Here is an example:

    import datetime
    import timedelta
    from django import forms
    from django.core import validators
    from django.core.exceptions import ValidationError
    from django.utils.translation import ugettext_lazy as _
    from rest_framework.fields import WritableField

    class TimedeltaField(WritableField):
        type_name = 'TimedeltaField'
        form_field_class = forms.FloatField

        default_error_messages = {
            'invalid': _("'%s' value must be in seconds."),
        }

        def from_native(self, value):
            if value in validators.EMPTY_VALUES:
                return None

            try:
                return datetime.timedelta(seconds=float(value))
            except (TypeError, ValueError):
                msg = self.error_messages['invalid'] % value
                raise ValidationError(msg)

Which is based on the FloatField. This field can then be used in
your serializer like this:

    from yourapp.fields import TimedeltaField

    class YourSerializer(serializers.ModelSerializer):
        duration = TimedeltaField()
2013-01-15 13:08:52 +00:00
Johannes Spielmann
e67b23f1ac correcting template: closing tag was missing 2013-01-15 13:46:41 +01:00
Tom Christie
da6b9576c5 Update docstrings 2013-01-15 10:51:10 +00:00
Tom Christie
191135d7b0 Version 2.1.16 2013-01-14 09:20:44 +00:00
Tom Christie
d9acec3e6d PK fields should only be read-only if they are an AutoField. Fixes #563 2013-01-12 09:43:14 +00:00
Tom Christie
73c4e5c460 auto_now and auto_now_add fields should be read only by default 2013-01-12 09:43:14 +00:00
Juan Riaza
268f60999c unused imports 2013-01-10 15:48:22 +01:00
Mark Aaron Shirley
81691ff900 Merge remote-tracking branch 'upstream/master' into null-one-to-one 2013-01-08 08:33:01 -08:00
Tom Christie
431ced66e4 Merge pull request #566 from mjtamlyn/patch-1
ObtainAuthToken pluggable Serializer.
2013-01-08 07:38:18 -08:00
Tom Christie
37a8458687 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2013-01-08 15:05:34 +00:00
Tom Christie
c1f194b0a5 Fix inconsistent view_name logic. Fixes #567. 2013-01-08 15:03:14 +00:00
Marc Tamlyn
49cd5e59a8 ObtainAuthToken pluggable Serializer.
It should have serializer_class in the same way as any other API view.
2013-01-08 12:20:01 +00:00
Mark Aaron Shirley
a897eb5480 Create separate *NullableOneToOneTests TestCase 2013-01-07 16:27:31 -08:00
Xavier Ordoquy
510d6a3c55 Introduced HTTP_HEADER_ENCODING. 2013-01-07 23:26:14 +01:00
Tom Christie
4e8f55887d Clean up test slightly. Refs #552 2013-01-07 21:37:44 +00:00
Tom Christie
4bb504732d Respect blank=True on relational fields. Fixes #537 2013-01-07 21:08:55 +00:00
Tom Christie
36fa722ebb Merged to latest master 2013-01-07 21:04:52 +00:00
Marc Tamlyn
5bded1ecf0 Use ResolveMatch.view_name so namespaces work. 2013-01-07 14:34:45 +00:00
Marc Tamlyn
c736b80290 Be more informative when reporting import errors. 2013-01-07 12:52:20 +00:00
Michael Mior
9b67a33b92 Use the correct static template tag in Django 1.5 2013-01-06 15:49:12 -05:00
Juan Riaza
a061e3d9e2 deprecate simplejson 2013-01-05 13:40:02 +01:00
Mark Aaron Shirley
213981cef3 Handle ObjectDoesNotExist exceptions when serializing null reverse one-to-one 2013-01-04 21:11:03 +01:00
Tom Christie
26f9acb45a Validation errors instead of exceptions when serializers receive incorrect types. Fixes #402. 2013-01-04 14:11:05 +00:00
Tom Christie
eb14278a3b Add proper validation for updating relational fields with incorrect types. Fixes #446. 2013-01-04 13:50:40 +00:00
Tom Christie
4c86fd46d7 Rename module for basic relational field tests 2013-01-04 13:05:31 +00:00
Tom Christie
6e9865cb71 Fix for #446. Note: Also needs applying to other relational types. 2013-01-03 23:17:31 +00:00
Tom Christie
ad671022e1 Version 2.1.15 2013-01-03 22:14:11 +00:00
Tom Christie
7ed81c3c66 Tweak comment. 2013-01-03 22:06:55 +00:00
Tom Christie
6da21fa796 Merge pull request #541 from yprez/default_and_partial_serializers2
Fix "default" values and partial serializers.  Fixes #532.
2013-01-03 14:05:36 -08:00
Tom Christie
bfea7f64ee Tweak behavior of hyperlinked fields that include an explicit format suffix. 2013-01-03 21:49:29 +00:00
Tom Christie
92ae08207a Drop unused private save_m2m flag 2013-01-03 21:49:01 +00:00
Xavier Ordoquy
06ae47752f Also use the compat module in that file. 2013-01-03 12:49:57 +01:00
Xavier Ordoquy
60250f22c8 Move the various compat things to the compat module. 2013-01-03 11:41:07 +01:00
Xavier Ordoquy
cf51dcc9bb Straight import is enough. 2013-01-03 10:48:43 +01:00
Mark Aaron Shirley
8fd1f09dad Move relation tests models into models.py 2013-01-03 10:23:13 +01:00
Yuri Prezument
3f5e938247 Some cleanup 2013-01-03 08:28:17 +02:00
Yuri Prezument
f2625fc38c FileField validation - handle case when files=None, fixes #542 2013-01-02 22:12:26 +02:00
Yuri Prezument
1c8fccfdcd Regression test for #542 2013-01-02 22:07:23 +02:00
Xavier Ordoquy
4b77b3c5ad Move the urlparse lib compatibility to the compat file. 2013-01-02 19:06:55 +01:00
Xavier Ordoquy
c95fa81cb2 Use new exception style 2013-01-02 19:06:28 +01:00
Xavier Ordoquy
9c7524fc33 Fixed unicode errors. 2013-01-02 19:06:02 +01:00
Xavier Ordoquy
45d48dd52f urlparse not used here. 2013-01-02 18:54:55 +01:00
Tom Christie
6da9cd5429 Add .patch() method for RetrieveUpdateAPIView 2013-01-02 17:43:43 +00:00
Xavier Ordoquy
1e6927b40d Merge remote-tracking branch 'reference/py3k' into p3k 2013-01-02 16:17:07 +01:00
Xavier Ordoquy
737349d238 Merge remote-tracking branch 'reference/py3k' into p3k 2013-01-02 16:09:21 +01:00
Yuri Prezument
3873bc8a85 Add explaining comment 2013-01-02 15:57:00 +02:00
Yuri Prezument
6b962cfcf7 Fix "default" and partial serializers, fixes #532 2013-01-02 15:56:46 +02:00
Tom Christie
ef73160599 Added RetrieveUpdateAPIView 2013-01-02 13:46:19 +00:00
Tom Christie
b807f3d52a Keep API backwards compatible. 2013-01-02 13:39:24 +00:00
Tom Christie
eff40391fb Merge branch 'patch-support' of https://github.com/ahankinson/django-rest-framework into patch 2013-01-02 13:27:00 +00:00
Mark Aaron Shirley
44771e81b2 Update HyperlinkedForeignKeyTests to match PKForeignKeyTests 2013-01-01 17:51:39 +01:00
Andrew Hankinson
389ca3b3b1 Merge branch 'master' of git://github.com/tomchristie/django-rest-framework into patch-support 2013-01-01 11:36:23 -05:00
Mark Aaron Shirley
a617a3758f Don't persist relation changes in ModelSerializer#restore_object() 2012-12-31 14:33:24 +01:00
Tom Christie
eff833b39d Version 2.1.14 2012-12-31 08:53:49 +00:00
Tom Christie
8fad0a727a Relation fields move into relations.py 2012-12-31 08:53:40 +00:00
Andrew Hankinson
c6f212238c Merge branch 'master' of git://github.com/tomchristie/django-rest-framework into patch-support 2012-12-30 14:03:08 -04:00
Andrew Hankinson
df1880185c Renaming DRFRequestFactory to RequestFactory
Updated tests to reflect the new name.
2012-12-30 13:58:08 -04:00
Andrew Hankinson
b9e48e8413 Removing Partial Update classes
PATCH methods merged into RetrieveUpdateDestroy class
2012-12-30 13:56:59 -04:00
Tom Christie
33580c82b3 Cleanup runtests/runcoverage 2012-12-30 08:06:11 +00:00
Sebastien Beal
b1e6b58c97 missing rest_framework templatetags for statics in login template 2012-12-30 13:24:05 +09:00
Tom Christie
12c4f1ecf7 Add reverse FK update tests 2012-12-29 18:26:47 +00:00
Tom Christie
18590a1568 Add test for hyperlinked reverse FK create. Refs #511 2012-12-29 18:17:48 +00:00
Tom Christie
0176fab475 Add TODO 2012-12-29 17:12:40 +00:00
Tom Christie
031a656667 Added hyperlinked FK create test 2012-12-29 17:12:07 +00:00
Tom Christie
caaf1c80f5 Support reverse FK creation 2012-12-29 16:51:41 +00:00
Tom Christie
51e2664491 Add FK create tests 2012-12-29 15:51:32 +00:00
Tom Christie
bf69205cd3 Tests for retrieving nullable relations 2012-12-29 13:33:03 +00:00
Tom Christie
809f5de330 Merge pull request #515 from yprez/blank_fields_issue
Fix for #514
2012-12-29 05:25:43 -08:00
Tom Christie
923f81d269 Nested serializers now support nullable relationships, plus test. Fixes #384 2012-12-29 13:19:05 +00:00
Tom Christie
250a7231d3 Add tests for nested FKs 2012-12-29 13:10:43 +00:00
Tom Christie
f7a82b6aee Version 2.1.13 2012-12-28 12:45:05 +00:00
Tom Christie
acdb69be52 Include 'static' template tag to enable 1.3 compatible staticfiles behaviour 2012-12-28 12:36:28 +00:00
Tom Christie
3e4242fc43 django.contrib.staticfiles no longer needs to be in INSTALLED_APPS 2012-12-28 12:33:24 +00:00
Tom Christie
eefd5b05fb Use compat import of urlpatterns 2012-12-27 20:20:01 +00:00
Tom Christie
24ed6dcfda Update runtest settings to include staticfiles app. 2012-12-27 17:35:00 +00:00
Roman Akinfold
5ae7786930 Replace get_static_prefix templatetag with static
so now static files urls in html view are correct if we use cloud
storage to serve static files
2012-12-27 05:35:03 +08:00
Yuri Prezument
36e1987f59 Regression test for #532 - values overriden by "default" setting 2012-12-25 18:50:00 +02:00
Michal Dvorak
5d7d51ed9d Merge remote-tracking branch 'upstream/master' 2012-12-23 22:05:16 +01:00
Tom Christie
0576241b19 Merge pull request #523 from maspwr/related-required
RelatedField should respect self.required
2012-12-23 10:48:35 -08:00
Mark Aaron Shirley
f8a1256b1c Update RelatedField#field_from_native coding style 2012-12-21 11:33:01 -08:00
Michal Dvorak (cen38289)
5ba2437f2d Merge remote-tracking branch 'tom/master'
Conflicts:
	rest_framework/tests/serializer.py
2012-12-21 10:53:23 +01:00
Tom Christie
79aea2f0d0 Version 2.1.12 2012-12-21 09:18:35 +00:00
Tom Christie
04119245ec Make nested tests consistent with pk and hyperlink tests 2012-12-21 09:15:28 +00:00
Tom Christie
37acea5240 Fix up test url model now filename has changed 2012-12-21 09:15:08 +00:00
Tom Christie
83feda6a69 Rename relationship tests so they show up together 2012-12-21 09:10:16 +00:00
Tom Christie
98919031db Merge pull request #522 from maspwr/writable-serializers
Writable Serializers - READ tests
2012-12-21 01:05:37 -08:00
Mark Hughes
125f027d2d Added setter to the auth property 2012-12-20 23:48:10 +00:00
Andrew Hankinson
e61eab43f4 Adjust PATCH test cases to use the new DRFRequestFactory 2012-12-20 00:28:01 -05:00
Andrew Hankinson
2b5deefe56 Subclass Django's RequestFactory to provide PATCH support 2012-12-20 00:27:29 -05:00
Mark Aaron Shirley
2f5582a1a6 Merge remote-tracking branch 'upstream/master' into related-required 2012-12-19 15:24:22 -08:00
Mark Aaron Shirley
ef475eb9bd Merge remote-tracking branch 'upstream/master' into writable-serializers 2012-12-19 15:21:06 -08:00
Tom Christie
a493c83248 urls, patterns, include imports move to compat to support incoming 1.3 thru 1.6 import compatability 2012-12-19 23:12:27 +00:00
Tom Christie
46b313315a Merge pull request #510 from joual/master
Fixes #509
2012-12-19 14:39:11 -08:00
Mark Aaron Shirley
ae6ca7456f Merge remote-tracking branch 'upstream/master' into writable-serializers 2012-12-19 14:37:44 -08:00
Tom Christie
598ae3286a Fix #521. (Browseable API exception on delete) 2012-12-19 22:05:35 +00:00
Tom Christie
d90d5380d7 pep8 2012-12-19 22:05:00 +00:00
Mark Aaron Shirley
5c680c36e4 Check if RelatedField is required. 2012-12-19 09:26:40 -08:00
Yuri Prezument
c13f132a21 Failing test with partial serializer and foreign keys 2012-12-19 09:24:11 -08:00
Mark Aaron Shirley
c6a6d7ac15 remove all but the 'read' nested serializer tests 2012-12-19 07:33:49 -08:00
Trey Hunner
8a41d4aa54 Fix assertion for nested create test (missing id) 2012-12-19 07:30:19 -08:00
Trey Hunner
2910bfb527 Add two functions for more DRY reverse fk tests 2012-12-19 07:30:19 -08:00
Trey Hunner
cbf3429005 Add test for deleting a reverse fk relation 2012-12-19 07:30:19 -08:00
Trey Hunner
f92c5b28ad Add test for creating a reverse fk relation 2012-12-19 07:30:19 -08:00
Trey Hunner
24e14b7d53 Add tests for retrieving/updating reverse fks 2012-12-19 07:30:18 -08:00
Tom Christie
ab86990ac8 HyperlinkedRealtedField tests. Refs #442. 2012-12-18 19:20:31 +00:00
Tom Christie
6611514134 Whitespace 2012-12-18 19:20:10 +00:00
Tom Christie
6693d2d277 Fix for pks returning as strings when set in pre_save. Fixes #482. Thanks to @n8agrin for the bug report. 2012-12-18 18:21:58 +00:00
Tom Christie
8f23b7f2f9 Version 2.1.11 2012-12-17 22:01:50 +00:00
Tom Christie
aa72f8d63d Fix bug with M2M in browseable API 2012-12-17 21:59:51 +00:00
Michal Dvorak (cen38289)
8ac77eaae8 Merge remote-tracking branch 'tom/master'
Conflicts:
	rest_framework/serializers.py
	rest_framework/tests/serializer.py
2012-12-17 17:01:00 +01:00
Yuri Prezument
c68f7ca580 blank=True fields are not required - fixes #514 2012-12-17 16:57:11 +02:00
Yuri Prezument
967f22e7d1 Failing test case for #514
Serializer errors are: {'title': [u'This field is required.']}
2012-12-17 16:50:20 +02:00
Yuri Prezument
6f6aeadf5f CharField in model should be null=True according Django docs
All tests should still pass

Ref #514
2012-12-17 16:48:03 +02:00
Tom Christie
70714c2346 Version 2.1.10 2012-12-17 09:08:28 +00:00
Andrew Hankinson
18338a37d3 Adding PATCH support to Django REST Framework 2012-12-16 14:49:18 -05:00
Andrew Hankinson
4f96951be9 Add 'patch' http method support to the Django View object 2012-12-16 13:11:59 -05:00
toran billups
008dafce17 ManyPrimaryKeyRelatedField now supports create for one-to-many rel 2012-12-15 20:55:36 -06:00
Joel Marcotte
262d9c2489 Final commit to restore the fix
Signed-off-by: Joel Marcotte <skaner@gmail.com>
2012-12-15 16:52:28 -05:00
Joel Marcotte
6f25181979 Reverting commit to previous state to see if the test is only relevant to django 1.5b2 2012-12-15 16:45:04 -05:00
Joel Marcotte
01e06bcdf8 Added test for "positive_integer in choices tuple does not get parsed if not string".
Signed-off-by: Joel Marcotte <skaner@gmail.com>
2012-12-15 16:33:08 -05:00
Tom Christie
35f72cecb1 Fix model validation exclusions. Fixes #500. Fixes #506. 2012-12-15 20:40:41 +00:00
Joel Marcotte
71ccab593b Fix for JSON integer match to a ChoiceField 2012-12-15 10:35:06 -05:00
Tom Christie
65f7aa0214 Drop unneeded passing through of kwargs now context issue is resolved. 2012-12-14 20:12:50 +00:00
Tom Christie
3c31222a41 Merge branch 'master' of https://github.com/sunscrapers/django-rest-framework 2012-12-14 20:11:37 +00:00
Tom Christie
39b01d6802 Ensure context is passed to dynamically added fields. Fixes #476. 2012-12-14 19:59:29 +00:00
Simon Pantzare
9eaf8e4330 Test to verify that context is passed on
The paginator and its object serializer should share the same context.
2012-12-14 19:59:29 +00:00
Stephan Groß
76c840f1bb added missing line 2012-12-13 20:41:40 +01:00
Stephan Groß
e198a2b376 added RetrieveUpdateAPIView 2012-12-13 16:57:17 +01:00
Stephan Groß
54d9cd4dba fixed validationerror usage 2012-12-13 16:44:45 +01:00
Szymon Teżewski
5f08ec70e2 context to custom field in pagination 2012-12-13 12:07:56 +01:00
Tom Christie
497da7fc69 Clean up field initialization. Fixes #497 2012-12-12 20:45:06 +00:00
Tom Christie
85bf4164dd Drop left over code 2012-12-11 22:09:04 +00:00
Tom Christie
0824761f47 Version 2.1.9 2012-12-11 21:07:48 +00:00
Tom Christie
4058223309 Fix broken nested fields 2012-12-11 21:07:25 +00:00
George Kappel
80f15c598a Added depth test 2012-12-11 09:14:52 -06:00
Tom Christie
980b394c8b Merge pull request #492 from annacoder/master
Making sure the assert does not fail  when required=False, read_only=True
2012-12-11 01:03:16 -08:00
Venkat
1815cdd247 Making sure the assert does not fail when required=False, read_only=True 2012-12-10 17:46:21 -08:00
Marko Tibold
d0935d1fbb get_excluded_fieldnames() should respect Meta options' ability to be either a tuple or list. Fixes #490.
Refactored `if self.opt.fields` out of the for loop.
Updated and cleaned up the validation-tests.
2012-12-10 23:10:04 +01:00
Tom Christie
ff01ae3571 Version 2.1.8 2012-12-08 13:01:03 +00:00
Tom Christie
ac2720afcb Add null related field option 2012-12-08 13:00:49 +00:00
Tom Christie
733f03fba3 Fix for emptystring as nullable FK 2012-12-08 12:48:38 +00:00
Tom Christie
936fdfb78e More tests for nullable FKs 2012-12-08 12:48:27 +00:00
Tom Christie
f72be7b8fa Add test for m2m create 2012-12-08 12:29:35 +00:00
Tom Christie
b170973993 Version 2.1.7 2012-12-07 22:36:30 +00:00
Tom Christie
c911d54ae3 Reverted #458
When incorrect parameters are supplied to the obtain auth token view
400 *is* the correct response.
2012-12-07 22:25:16 +00:00
Tom Christie
303bc7cf95 Support nullable FKs, with blank=True 2012-12-07 21:32:45 +00:00
Tom Christie
a5178e9a36 Merge pull request #451 from markotibold/#431
Call model's .full_clean() method, eg. to validate uniqueness
2012-12-07 12:34:56 -08:00
Marko Tibold
919aff329e Fix AttributeError caused by accessing a non-existing default_keys attribute. 2012-12-07 00:08:27 +01:00
Tom Christie
a463ddbb37 Merge pull request #470 from minddust/fix-#469
fixed #469 - RegexField <--> BrowsableAPI Bug
2012-12-06 14:58:18 -08:00
Tom Christie
6ffcd7ba36 Merge pull request #477 from roberts81/master
Fix for #460
2012-12-06 14:54:28 -08:00
Marko Tibold
c65f22e0e4 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework into #431 2012-12-06 23:47:47 +01:00
Tom Christie
bd530a2ee4 Merge pull request #474 from justanotherbody/master
Add support for "true" and "false" as BooleanField values
2012-12-06 14:36:49 -08:00
Tom Christie
e2175eb71b Merge pull request #462 from asfaltboy/modelserializer_traverse_related
ModelSerializer traverse related
2012-12-06 14:35:57 -08:00
Ben Roberts
cb7d9ea5c9 cleaned up white space & docstring styling 2012-12-06 12:45:50 -07:00
Ben Roberts
7f28a78414 cleaned up last commit 2012-12-05 17:54:21 -07:00
Ben Roberts
705c7ad09d added tests and fix for unpickleable metadata in SortedDictWithMetadata 2012-12-05 17:43:47 -07:00
Michael Richards
3867d9deb1 Added support for 'true'/'false' as valid boolean data 2012-12-04 11:07:31 -08:00
Michal Dvorak (cen38289)
2a82b64963 Moved smart_unicode to Field ctor, to mimic Django Forms behavior. 2012-12-04 14:22:41 +01:00
Michal Dvorak (cen38289)
a7849157bc Moved ctor test to separate unit test 2012-12-04 10:00:14 +01:00
Stephan Groß
e044fa089b fixed #469 - RegexField <--> BrowsableAPI Bug 2012-12-04 09:40:23 +01:00
Michal Dvorak
dea0f9129c Fixed screwed formatting 2012-12-03 19:10:57 +01:00
Michal Dvorak
ad01fa0eae #467 Added unit test 2012-12-03 19:07:07 +01:00
Michal Dvorak (cen38289)
9ae0ca1cae #467 Added label and help_text to Field 2012-12-03 17:26:01 +01:00
Tom Christie
56bb4a5b03 Merge pull request #448 from mhsparks/master
Add setter to user property on request object
2012-12-02 06:59:27 -08:00
Xavier Ordoquy
5fad46d7e2 Merge remote-tracking branch 'reference/master' into p3k 2012-12-02 12:43:32 +01:00
Xavier Ordoquy
d6b4a6b04a Fixed a bug with type and python 2.x compat. 2012-12-02 01:24:15 +01:00
Xavier Ordoquy
73572bc199 trunk bug. 2012-12-02 01:23:39 +01:00
Marko Tibold
52b12434d0 Merge pull request #458 from asfaltboy/fix_authtoken_response
Fix authtoken response
2012-11-30 11:58:10 -08:00
Pavel Savchenko
1c1bd3fc5d fix test response 2012-11-30 01:37:21 +02:00
Pavel Savchenko
e311b763e1 add traverse_related feature + tests (fixes issue#461) 2012-11-30 01:34:46 +02:00
Tom Christie
c72a20c459 Merge pull request #452 from fabianbuechler/patch-1
Renderer negotiation: media_type specificty evaluation weak
2012-11-29 15:02:32 -08:00
Pavel Savchenko
1b9d0eefba fix forgotten 400 test 2012-11-29 09:35:22 +02:00
Marko Tibold
968f4a5ca4 Merge branch 'custom-serializer-form-class' of https://github.com/ludwigkraatz/django-rest-framework into mergebranch#390
Conflicts:
	rest_framework/fields.py
	rest_framework/renderers.py
Manually solved
2012-11-29 01:10:32 +01:00
Pavel Savchenko
19f67bd578 also update test with response code 401 2012-11-28 23:05:33 +02:00
Pavel Savchenko
7eec582d40 Better to return 401 when failing to authenticate 2012-11-28 17:04:36 +02:00
Marko Tibold
899f96ae91 Added a get_excluded_fieldnames() method.
Model validation now excludes fields not listed in Meta fields (if set).
2012-11-27 23:49:27 +01:00
Marko Tibold
f104f74340 Moved model validation from .perform_validation() to .validate() 2012-11-27 23:21:12 +01:00
Fabian Büchler
731443b71e Renderer negotiation: media_type specificty evaluation weak
The `DefaultContentNegotiation` handler uses

For example: Google Chrome sends an Accept-header of `Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8`, when I request a *.png URL.
After matching the media-types with the available renderers (in my case only a custom `PNGRenderer` with a `media_type='image/png'`), only `*/*;q=0.8` is left, which happens to have the same length as the "image/png" media-type defined by the renderer (9 characters).

The specificity of the renderer's media-type over the Accept-header's one is only determined by length.
Using your `_MediaType.precedence` would be preferable in my eyes.

Regards, Fabian
2012-11-27 10:13:15 +01:00
Marko Tibold
e7666014a8 Added an assertion to the tests that checks the '.errors' value for the unique-test 2012-11-26 23:39:49 +01:00
Xavier Ordoquy
17000129e3 Every (base) test should now pass with python3. 2012-11-24 23:19:03 +01:00
Mark Hughes
85a921c7ef Added setter to user property 2012-11-24 17:18:32 +00:00
Tom Christie
fd89bca35f Version 2.1.6. AKA: I am a doofus. 2012-11-23 13:21:18 +00:00
Tom Christie
95aa99d8df Version 2.1.5 2012-11-23 13:09:14 +00:00
Tom Christie
412f737ab2 Typo. Fixes #437. 2012-11-23 13:09:14 +00:00
Tom Christie
7ade5add21 Merge pull request #439 from irrelative/master
Cache all fields per serializer instance
2012-11-22 16:17:47 -08:00
Xavier Ordoquy
e348ee9255 52 tests passing. Refactored a few string / byte io. 2012-11-23 01:12:33 +01:00
Xavier Ordoquy
b68263fb65 Default encoding should probably be latin-1 as some RFC seems to imply it. 2012-11-23 01:11:09 +01:00
Marko Tibold
3f47f6cea9 Added a validate_unique test. 2012-11-22 23:50:42 +01:00
Marko Tibold
bd8c742df2 Cleanup. 2012-11-22 23:39:16 +01:00
Marko Tibold
ca5b99486d Added _post_clean() behaviour by adding a .perform_model_validation() method.
Fixed some tests that were failing due to extra strict validation.
2012-11-22 22:36:37 +01:00
jedavis83@gmail.com
2e36e0c910 Remove unneeded and incorrect self reference 2012-11-22 12:22:30 -08:00
jedavis83@gmail.com
08e7818530 More consistent iteration over default_fields, per feedback. 2012-11-22 11:27:55 -08:00
jedavis83@gmail.com
e9944f82d1 Keep Serializer.fields API consistent while caching values. 2012-11-22 10:50:29 -08:00
Tom Christie
ac84c2ed2e Version 2.1.4 2012-11-22 17:49:53 +00:00
Tom Christie
ec437e3e0f Merge pull request #441 from dbachrach/master
Add widgets for DateField and DateTimeField
2012-11-22 02:17:20 -08:00
Xavier Ordoquy
4007b56457 28 tests passes now. 2012-11-22 08:30:32 +01:00
Xavier Ordoquy
606c20f012 6 first tests passes under python 3.2 2012-11-22 02:08:00 +01:00
Xavier Ordoquy
49f8e6419a Fixed python2.7 compat issue. 2012-11-22 00:43:56 +01:00
Xavier Ordoquy
e9c8af46f1 Fixed test with base64. 2012-11-22 00:32:00 +01:00
Xavier Ordoquy
b3698acb6c First passing test under p3k \o/ 2012-11-22 00:20:49 +01:00
Xavier Ordoquy
ab3c472974 compatible print statements. 2012-11-21 19:36:35 +01:00
Mark Aaron Shirley
0876bed963 Merge remote-tracking branch 'upstream/master' into partial-update 2012-11-21 09:37:22 -08:00
Mark Aaron Shirley
1adfc41dc7 partial argument should override required 2012-11-21 09:36:37 -08:00
Tom Christie
b0bad35ef0 Tweak to work with serializer performance improvement 2012-11-21 17:32:32 +00:00
Stephan Groß
774d687a31 updated comparison due to pep8 programming recommendations
http://www.python.org/dev/peps/pep-0008/#programming-recommendations
2012-11-21 14:58:33 +01:00
Stephan Groß
834f31ae4d added RegexField to field_mapping in BrowsableAPIRenderer 2012-11-21 14:58:04 +01:00
Stephan Groß
03100168ff added missing line 2012-11-21 11:57:00 +01:00
Stephan Groß
6ba4df8a27 Merge remote-tracking branch 'upstream/master' into regex_field
Conflicts:
	docs/topics/release-notes.md
2012-11-21 11:56:34 +01:00
Stephan Groß
ed713d0354 added tests 2012-11-21 11:07:08 +01:00
jedavis83@gmail.com
e03bb9c2fe Change pagination to update Serializer.serialize_fields 2012-11-20 23:17:30 -08:00
jedavis83@gmail.com
8b0561c57e Cache all fields on serializer init, not just default fields. 2012-11-20 23:09:47 -08:00
Tom Christie
8e8b23b6a9 Merge pull request #430 from j4mie/serializer-method-field
Serializer method field
2012-11-20 15:30:30 -08:00
Tom Christie
9b63ba3800 Merge pull request #433 from irrelative/master
Cache default_fields per serializer instance for faster serialization
2012-11-20 15:13:30 -08:00
Mark Aaron Shirley
c3644234cd Add support for partial serializer updates 2012-11-20 11:01:21 -08:00
Dustin Bachrach
7bf03bbd66 Add widgets for DateField and DateTimeField. 2012-11-20 08:27:52 -08:00
Stephan Groß
86484668f6 added RegexField 2012-11-20 15:38:50 +01:00
Jamie Matthews
3cc5349b2f Clean up and clarify tests for related serializers 2012-11-20 09:49:54 +00:00
Jamie Matthews
68c397371c Fix related serializers with source argument that resolves to a callable 2012-11-20 09:41:36 +00:00
jedavis83@gmail.com
2cf0fda2ae Cache default fields per serializer instance for improved performance 2012-11-19 22:09:40 -08:00
Tom Christie
cafc00b8e5 Merge pull request #424 from jonlil/master
Support for django 1.5a (auth_user_model)
2012-11-19 13:44:53 -08:00
Tom Christie
b9e5c9484a Merge pull request #399 from robromano/master
Added login view for users of TokenAuthentication
2012-11-19 13:30:49 -08:00
Tom Christie
25f024575b Merge pull request #426 from jmagnusson/master
Support min_length / max_length kwargs on basic ModelFields
2012-11-19 09:39:59 -08:00
Jamie Matthews
de5b071d67 Add SerializerMethodField 2012-11-19 17:22:17 +00:00
Tom Christie
4e42ef0bd5 Merge pull request #429 from minddust/minor_fixes
updated to buildin status codes
2012-11-19 08:47:51 -08:00
Stephan Groß
728e505180 updated to buildin status codes 2012-11-19 17:35:32 +01:00
Jonas Liljestrand
0bcc840927 Complete fix for migration 2012-11-19 11:37:37 +01:00
Robert Romano
f5f1ac49ec Update robromano fork with upstream master
Conflicts:
	docs/topics/credits.md
	docs/topics/release-notes.md
2012-11-18 21:07:44 -08:00
Tom Christie
d1472740bc Merge pull request #427 from glic3rinu/master
Fixed identation on filter_fields
2012-11-18 20:36:57 -08:00
glic3rinu
b03804fe05 Fixed identation on filter_fields 2012-11-19 00:14:03 +01:00
Jonas Liljestrand
91c0249c9d fixed migration to support django 1.5 2012-11-18 21:12:06 +01:00
Jacob Magnusson
d67ee708e5 Add support for min_length / max_length keywords
on basic ModelFields
2012-11-18 18:14:21 +01:00
Jonas Liljestrand
9f378d0dd4 fixed bug 2012-11-17 23:51:05 +01:00
Jonas Liljestrand
8eb4bb8090 Moved function for getting correct user model to compat.py 2012-11-17 20:35:15 +01:00
Jonas Liljestrand
cd482c0ad2 Added support for Django 1.5 for TokenAuth 2012-11-17 18:04:37 +01:00
Jonas Liljestrand
bbb5a8a1d9 fixed import error 2012-11-17 18:01:46 +01:00
Jonas Liljestrand
3c1b5c3435 indent error 2012-11-17 17:53:08 +01:00
Jonas Liljestrand
f0d4232c1d Django 1.5 support, and awareness for AUTH_USER_MODEL 2012-11-17 17:46:16 +01:00
Tom Christie
acbe991209 Tidying 2012-11-16 23:22:15 +00:00
Tom Christie
016ef5019f Version 2.1.3 2012-11-16 22:58:22 +00:00
Tom Christie
e801e21210 Merge pull request #422 from markotibold/max_length_for_modelserializers
Max length for modelserializers
2012-11-16 14:54:16 -08:00
Tom Christie
e40000c834 Merge pull request #408 from markotibold/file_and_image_fields
Added a FileField and an ImageField
2012-11-16 14:48:42 -08:00
Tom Christie
31f01bd631 Polishing to page size query parameters & more docs 2012-11-16 22:45:57 +00:00
Tom Christie
9973cf329a Merge pull request #412 from minddust/custom_page_size_per_request
support for custom page size per request
2012-11-16 13:45:27 -08:00
Marko Tibold
1a436dd6d9 Added URLField and SlugField.
Fixed test_modelserializer_max_length_exceeded
2012-11-16 22:43:16 +01:00
Tom Christie
8d3581f4bd Minor tweaks to internals of generics and mixins 2012-11-16 21:27:34 +00:00
Marko Tibold
f385b72d80 Whoops … Drop pdb 2012-11-16 22:20:26 +01:00
Marko Tibold
aa013a4289 Fixes #421 2012-11-16 22:18:57 +01:00
Marko Tibold
4edc801d59 Reproduces #421 2012-11-16 21:42:04 +01:00
Marko Tibold
403886b79b Merge commit '3b258d69c92e9d9293f7c5d1690f0ca434e677e3' into file_and_image_fields 2012-11-15 22:48:22 +01:00
Stephan Groß
a701a21587 added page_size_kwarg tests 2012-11-15 14:35:34 +01:00
Stephan Groß
3ae203a018 updated script to just use page_size_kwarg 2012-11-15 12:06:43 +01:00
Stephan Groß
38e94bb8b4 added global and per resource on/off switch + updated docs 2012-11-15 11:15:05 +01:00
Marko Tibold
69a01d7125 Added a test for the FileField. 2012-11-14 23:04:46 +01:00
Rob Romano
535b65a348 Removed authtoken/urls.py, not really needed with Tom's simplification 2012-11-14 12:59:01 -08:00
Rob Romano
321ba156ca Renamed AuthTokenView to ObtainAuthToken, added obtain_auth_token var, updated tests & docs. Left authtoken.urls in place as example. 2012-11-14 12:51:00 -08:00
Rob Romano
ce3ccb91dc Updates to login view for TokenAuthentication from feedback from Tom 2012-11-14 12:46:14 -08:00
Rob Romano
bd92db3c67 Added authtoken login/logout urlpatterns and views 2012-11-14 12:46:14 -08:00
Rob Romano
4a2526bd1e Added authtoken login/logout urlpatterns and views to support scripted logins and logouts using TokenAuthentication. Added unittests. 2012-11-14 12:46:14 -08:00
Marko Tibold
e112a806d8 .to_native() now returns the file-name. 2012-11-14 21:40:52 +01:00
Marko Tibold
c35b9eb065 Processed review comments.
No type checking in .restore_fields()
Added missing BytesIO import.
2012-11-14 21:13:23 +01:00
Tom Christie
647abcdb16 Bring keywrod args in line with Django's implementation 2012-11-14 19:34:27 +00:00
Tom Christie
0cfb27b40e Merge pull request #407 from ludwigkraatz/location_header
Location header when Creating a Resource with HyperlinkedIdentityField
2012-11-14 10:42:08 -08:00
Stephan Groß
44ff2e0add fixed some typos 2012-11-14 19:36:29 +01:00
Stephan Groß
023b065ddc added support for passing page_size per request 2012-11-14 16:02:50 +01:00
Ludwig Kraatz
d9c62c20a7 once more polished 2012-11-14 13:24:20 +01:00
Ludwig Kraatz
8b999c6bb5 polishing code
and adding myself to auhtors file
2012-11-14 11:46:16 +01:00
Marko Tibold
8cdbc0a33a Properly render file inputs in the Browsable api. 2012-11-14 00:09:39 +01:00
Marko Tibold
5443dd5f3c Added a FileField and an ImageField (copied from django.forms.fields).
Adjusted generics, mixins and serializers to take a `files` arg where applicable.
2012-11-13 23:26:17 +01:00
Ludwig Kraatz
3a30a9b1cb removed useless line after polishing code
added it in first commit but after third it became useless.
2012-11-13 20:30:18 +01:00
Ludwig Kraatz
b341dc70af fixed ugly code
Location header is set just, if there is a Location field on the
serializer.
2012-11-13 19:15:42 +01:00
Ludwig Kraatz
851dff1644 fixed a bug on testing throttling headers
after changing the headers storing of reponse
2012-11-13 18:39:07 +01:00
Ludwig Kraatz
573de11b23 changed buggy response + code ploishing
reponse didnt handle any headers at all. Accepts now a dict of headers
and sets those properly
2012-11-13 18:07:38 +01:00
Ludwig Kraatz
cc55a7b643 Returning a Location Header on Create
when creating a Resource with HyperlinkedIdentityField of any name
2012-11-13 18:00:41 +01:00
Tom Christie
21468a1867 Fix broken depth argument 2012-11-13 11:47:32 +00:00
Tom Christie
873a142af2 Implementing 401 vs 403 responses 2012-11-13 11:27:09 +00:00
Marko Tibold
2a2ce406bc Fixes #380 2012-11-10 12:23:19 +01:00
Marko Tibold
df689a7442 Reproduces #380 2012-11-10 12:00:20 +01:00
Tom Christie
da1aa5542c Merge pull request #394 from tomchristie/read_only_fields
Read only fields
2012-11-09 09:04:45 -08:00
Tom Christie
e224061189 Support for read_only_fields on ModelSerializer classes 2012-11-09 17:01:20 +00:00
glic3rinu
61ec6c0912 Fixed typo on safe_mode markdown wrapper 2012-11-09 16:54:23 +01:00
Tom Christie
8953a60196 Merge with master 2012-11-09 13:49:52 +00:00
Tom Christie
3ac26af7ca Version 2.1.2 (Adds filtering support) 2012-11-09 13:13:41 +00:00
Tom Christie
c7df9694b5 Merge pull request #383 from tomchristie/filtering
Support for filtering backends
2012-11-09 05:07:34 -08:00
Tom Christie
ff1234b711 Updated filteing docs. 2012-11-09 13:05:36 +00:00
Tom Christie
33a6986462 Ensure pagination URLs are fully qualified 2012-11-08 21:47:54 +00:00
Tom Christie
bc6f2a1703 Make default FILTER_BACKEND = None 2012-11-08 21:46:53 +00:00
Tomi Pajunen
40c6fe7119 Comments updated 2012-11-08 17:04:29 +02:00
Ludwig Kraatz
5cd64cc551 Fields specify what FormFieldClass should be used by BrowsableApiRenderer
added SerializerField Attribute "form_field_class" and defaults for
existing Fields
2012-11-08 16:02:03 +01:00
Ludwig Kraatz
607cf82331 revert merge 2012-11-08 15:42:09 +01:00
Tomi Pajunen
743224d000 Fixed creation of objects with reversed M2M relations 2012-11-08 16:31:16 +02:00
Ludwig Kraatz
e9dfebc9c6 clean support for view namespaces in as serializer attribute
view name is prepended with namespace if existend
2012-11-08 15:27:32 +01:00
Ludwig Kraatz
08fef1ac81 Allowing custom Serializer Fields to have different BrowsableApiRendered Form Fields than CharField
moved field_mapping
from local serializer_to_form_fields var
to BrowsableAPIRenderer class attr
2012-11-08 14:58:53 +01:00
Ludwig Kraatz
b4b860b45b moved field_mapping to be BrowsableAPIRenderer attr
from local serializer_to_form_fields var
to BrowsableAPIRenderer class attr

in order to - allow customization when subclassing
2012-11-08 14:54:01 +01:00
Tom Christie
c78b34d501 Strict import ordering 2012-11-08 09:10:24 +00:00
Tom Christie
30799a3955 Simplify NextPageField and PreviousPageField slightly 2012-11-07 21:09:26 +00:00
Tom Christie
47b534a13e Make filtering optional, and pluggable. 2012-11-07 21:07:24 +00:00
Tom Christie
9fd061a0b6 Merge branch 'restframework2-filter' of git://github.com/onepercentclub/django-rest-framework into filtering 2012-11-07 20:13:27 +00:00
Stephan Groß
f3c94acc4a fixed typo 2012-11-07 17:19:13 +01:00
Tom Christie
3debd7b1a2 Version 2.1.1 2012-11-07 11:43:47 +00:00
Tom Christie
b3bf887c67 Make textareas in browseable API same width as everything else 2012-11-07 11:32:52 +00:00
Tom Christie
5e5c8899e2 Fix repeated breadcrumbs when optional trailing slash is used 2012-11-07 11:32:51 +00:00
Tom Christie
2529207bba Make textareas in browseable API same width as everything else 2012-11-07 10:13:14 +00:00
Tom Christie
296b737fb6 Fix repeated breadcrumbs when optional trailing slash is used 2012-11-07 10:03:51 +00:00
Stephan Groß
4136b7e44b fixed typo in html status code 2012-11-06 21:11:05 +01:00
Tom Christie
6d3bb67aa6 Add pk_url_kwarg to hyperlinked fields 2012-11-06 17:11:52 +00:00
Tom Christie
cedb3860f4 Use saner get_serializer signature 2012-11-06 17:05:15 +00:00
Stephan Groß
2c52a2581f added slug support for HyperlinkedIdentityField 2012-11-06 17:02:34 +01:00
Tom Christie
6d4c6999af Merge pull request #374 from tonimichel/master
Fixed AttributeError in ModelSerializer.save when ModelSerializer.restore_object is overwritten
2012-11-06 03:03:04 -08:00
Tom Christie
d9be6140dc More defensive coding. Refs: #348 2012-11-06 11:01:53 +00:00
Tom Christie
0d2377c148 Respect false value defaults on WritableField. Fixes #377. 2012-11-06 10:55:58 +00:00
Tom Christie
470878a591 Allow slug_url_kwarg to be overidden by subclass. Fixes #373 2012-11-06 10:47:26 +00:00
Tom Christie
b19c58ae17 Support for HTML error templates. Fixes #319. 2012-11-06 10:44:19 +00:00
Ben Konrath
09f39bd23b Merge branch 'master' into restframework2-filter 2012-11-06 03:22:25 +01:00
Toni
5d69628250 Update rest_framework/serializers.py
fixed AttributeError in case restore_object is overwritten without explicitly setting self.m2m_data
2012-11-05 20:55:03 +01:00
Tom Christie
455a8cedcf Tweaks 2012-11-05 17:03:22 +00:00
Tom Christie
9746abdf72 Version 2.1.0. Adding release notes. 2012-11-05 16:46:33 +00:00
Tom Christie
867033e676 slug_url_kwarg should default to same as slug_field 2012-11-05 16:43:44 +00:00
Tom Christie
9731b95fc3 Merge pull request #347 from minddust/master
support for passing custom slug options to HyperlinkedRelatedField
2012-11-05 08:36:59 -08:00
Tom Christie
6d201c362f Drop unneccesarily lenient dictionary-containing-instances serialization. 2012-11-05 16:19:11 +00:00
Stephan Groß
0a660a531a fixed typo 2012-11-05 16:43:03 +01:00
Stephan Groß
03095f607a added testcase for custom slug field in hyperlinkedrelatedfield 2012-11-05 16:37:37 +01:00
Tom Christie
33be4b43b9 queryset argument is now optional on writable model fields. 2012-11-05 12:51:04 +00:00
Tom Christie
ccd5f29510 Tidy up serializer fields now we no longer use dynamic fields 2012-11-05 11:03:36 +00:00
Tom Christie
dfb8225447 Add note on * import 2012-11-05 10:56:30 +00:00
Tom Christie
b7b942c599 Swap position of instance and data keyword arguments. 2012-11-05 10:53:20 +00:00
Stephan Groß
44449fa1f5 Merge remote-tracking branch 'upstream/master' 2012-11-05 11:45:49 +01:00
Tom Christie
5b397e50dd Include queryset missing exception on writable SlugField 2012-11-05 10:16:23 +00:00
Tom Christie
b8fa379e50 Merge pull request #364 from mjs7231/master
Fix for bug #363: ChoiceField missing in renderers.py
2012-11-05 01:54:07 -08:00
Michael Shepanski
3d0f8b792f Fix for bug #363: ChoiceField missing in renderers.py 2012-11-04 12:31:37 -05:00
Jacob Magnusson
7df7dadccd Remove `request' from response instance while
testing caching
2012-11-04 13:42:29 +01:00
Jacob Magnusson
963c5fe4a7 Remove attributes that are not needed when caching
the Response object. This fixes #346
2012-11-04 12:48:41 +01:00
Jacob Magnusson
44f280c3ab Add tests for caching of GET/HEAD requests using
Django's built in caching framework.
Currently fails as some attributes on the Response
object are not pickable
2012-11-04 12:47:46 +01:00
Jacob Magnusson
38af6107b5 Added test for ModelSerializer Meta fields
returning as expected
2012-11-03 00:32:08 +01:00
Jacob Magnusson
1b49615c00 Added test that makes sure that fields with
dictionaries as data are returned as expected and
not turned into string representations
2012-11-03 00:32:02 +01:00
Jacob Magnusson
19a218f859 Bye bye star import 2012-11-03 00:27:56 +01:00
Tom Christie
b468dd6271 Merge pull request #359 from tomchristie/relationship_tests
Relationship tests
2012-11-02 14:08:49 -07:00
Tom Christie
8ec54e6a9f Tweaks 2012-11-02 20:56:51 +00:00
Tom Christie
6eaec7a0ec foreign key tests 2012-11-02 20:53:33 +00:00
Jacob Magnusson
a6806f0307 Apply to_native on dictionary keys as well 2012-11-02 21:48:16 +01:00
Jacob Magnusson
3de61d200c Don't convert dictionary into a string representation 2012-11-02 20:55:58 +01:00
Tom Christie
e84ce60a0d Initial PK relationship tests 2012-11-02 19:11:40 +00:00
Tom Christie
b9bff2a984 Fix issues with pk related fields in the browsable API. 2012-11-02 14:05:14 +00:00
Tom Christie
062f5caef3 Tweaks fields docs, and fix 2.0.1 version. 2012-11-01 23:40:34 +00:00
Tom Christie
36e21153fb Merge master 2012-11-01 23:11:28 +00:00
Tom Christie
d327c5f531 Relational field support in browseable API.
Add slug relational fields.
Add quickstart.
2012-11-01 23:04:13 +00:00
Tom Christie
5558c0530f Merge pull request #351 from asfaltboy/fix_trans_choices
Return choices as unicode and not string
2012-11-01 06:27:28 -07:00
Tom Christie
aa779598aa Merge pull request #352 from asfaltboy/cleanup_MultipleObjectBaseView
cleanup MultipleObjectBaseView remains
2012-11-01 06:12:16 -07:00
Ben Konrath
9c82f9717e Merge branch 'master' into restframework2-filter 2012-11-01 14:06:56 +01:00
Pavel Savchenko
9a0cc7c720 since MultipleObjectBaseView was renamed MultipleObjectAPIView, it stands to reason to complete the renaming in docs and comments as well. 2012-11-01 15:06:11 +02:00
Pavel Savchenko
d3aedd5fb1 return choices as unicode and not string,
might as well have jsonp return unicode
2012-11-01 15:00:22 +02:00
Otto Yiu
756297ad1d fix 'from_native' method when rel is None
'NoneType' object has no attribute 'to'
2012-10-31 21:40:20 -07:00
Tom Christie
027c9079f6 PUT as create should return 201. Fixes #340. 2012-10-31 20:11:38 +00:00
Stephan Groß
ff7725f05e added support for custom slug field and kwargs
without subclassing HyperlinkedRelatedField and overwriting
slug_url_kwarg and slug_field there is no possibility to use other
fields / arguments. now you can do something like this:

url(r'^users/(?P<username>\w[\w-]*)$', UserInstance.as_view(),
name='user-detail')

class ProjectSerializer(serializers.HyperlinkedModelSerializer):
    created_by =
serializers.HyperlinkedRelatedField(view_name='user-detail',
slug_url_kwargs='username', slug_field='username')
2012-10-31 15:30:01 +01:00
Tom Christie
4cdd0b845e Final docs tweaks for 2.0 2012-10-30 13:59:31 +00:00
Tom Christie
cea907f172 Raise nicer exception if queryset not Set on writable related field. Refs: #338 2012-10-30 11:10:23 +00:00
Tom Christie
0047a46020 Merge fixes for 'blank=True' fields. Fixes #324, Fixes #325
Thanks to @Roarster.
2012-10-30 11:03:03 +00:00
Tom Christie
5670cb03bf Allow use of absolute URLs when deserializing hyperlinked fields 2012-10-30 10:49:01 +00:00
Tom Christie
1b6fe9abb4 Hyperlinked serializer tests 2012-10-30 10:35:30 +00:00
Tom Christie
51a53b497b Merge pull request #335 from tomchristie/related-field-as-instance
Writable related fields should return a model instance from .from_native...
2012-10-30 03:32:55 -07:00
Tom Christie
e5777a6168 Merge pull request #336 from markotibold/null_is_true_model_fields
Null is true model fields
2012-10-30 02:22:51 -07:00
Marko Tibold
4d90bb4af4 Fix some typos. 2012-10-30 00:30:52 +01:00
Marko Tibold
2068595297 Set a ModelSerializer field to required=False if the ModelField has null=True set. 2012-10-30 00:09:40 +01:00
Marko Tibold
6ccbdd10ad Adding failing tests that show null=True model fields are won't validate if their value is omitted. 2012-10-30 00:03:24 +01:00
Tom Christie
b6c90c0d68 Fix slug based put as create test 2012-10-29 17:20:06 +00:00
Tom Christie
215edc5dfa Merge branch 'restframework2' of https://github.com/tomchristie/django-rest-framework into restframework2 2012-10-29 17:09:01 +00:00
Tom Christie
d206c686a6 Fixes for urls with suffixes 2012-10-29 17:08:38 +00:00
Tom Christie
343da8e3cf PUT as create should return 200 2012-10-29 16:13:08 +00:00
Tom Christie
6b6f0e682b Merge pull request #331 from markotibold/test_put_as_create
Test put as create
2012-10-29 09:11:32 -07:00
Tom Christie
ee8ab283f0 Style tweaks 2012-10-29 14:41:33 +00:00
Tom Christie
49f87cfbab Deal with None and missing values 2012-10-29 14:10:38 +00:00
Tom Christie
dfcb560f8f Fix up login styling 2012-10-29 13:57:46 +00:00
Tom Christie
752f191a76 Fix breadcrumbs 2012-10-29 13:18:51 +00:00
Tom Christie
f4edd92566 Writable welated fields should return a model instance from .from_native(), not a pk 2012-10-29 12:51:21 +00:00
Tom Christie
de6908fbef Remove recursion detection 2012-10-28 20:50:14 +00:00
Tom Christie
351382fe35 nested -> depth 2012-10-28 20:43:43 +00:00
Tom Christie
6e4ab09aae readonly -> read_only 2012-10-28 20:21:45 +00:00
Marko Tibold
1a16289ede Get the correct instance 2012-10-28 20:56:48 +01:00
Marko Tibold
5bb6680376 test_put_as_create_on_id_based_url should check for a created-response. 2012-10-28 20:45:42 +01:00
Tom Christie
3d3df22d82 Merge pull request #330 from tomchristie/tutorial-refactor
Tutorial refactor
2012-10-28 12:42:10 -07:00
Tom Christie
1b2c235847 Merge pull request #327 from tomchristie/allow-any-permission
Add AllowAny permission
2012-10-28 12:10:12 -07:00
Marko Tibold
bc99142c7d Added wo tests. One for PUTing on a non-existing id-based url. And another for PUTing on a non-existing slug-based url.
Fix doctoring for 'test_put_cannot_set_id'.
2012-10-28 19:35:50 +01:00
Tom Christie
12c363c1fe TemplateHTMLRenderer, StaticHTMLRenderer 2012-10-28 18:12:56 +00:00
Tom Christie
af96fe05d0 Add AllowAny class 2012-10-27 20:17:49 +01:00
Tom Christie
d995742afc Add AllowAny permission 2012-10-27 20:04:33 +01:00
Tom Christie
b9e576f16e Push tests into a seperate app namespace 'rest_framework.test'
Prevents tests from running by default when rest_framework is installed
as 3rd party app.
Fixes #316, #185
2012-10-27 18:44:23 +01:00
Tom Christie
44207a347a pep8 2012-10-27 10:33:01 +01:00
Tom Christie
67f1265e49 Fix failing 'default' on ModelSerializer 2012-10-26 13:20:30 +01:00
Tom Christie
fc4614a89c Whitespace 2012-10-26 12:46:41 +01:00
Tom Christie
2efb5f8a14 Object-level permissions respected by Browseable API 2012-10-26 12:46:15 +01:00
Tom Christie
32d602880f Choice fields from ModelSerializer. 2012-10-26 12:45:52 +01:00
Tom Christie
195006bbc3 Drop resources from codebase since implementation is only partial (Created resoorces-routers branch for future reference) 2012-10-26 09:27:59 +01:00
Tom Christie
e987737621 Merge pull request #320 from j4mie/split-generic-views
Rename generic base classes, and add CreateAPIView, DeleteAPIView, UpdateAPIView.
2012-10-25 06:31:25 -07:00
Jamie Matthews
27935f6f66 Rework generic view class names 2012-10-25 13:50:39 +01:00
Jamie Matthews
d6e10b50fc Re-add implementation of multiple-operation generic views to remove diamond inheritance 2012-10-25 12:26:08 +01:00
Tom Christie
8c360770c1 Add pre_save hook in generic views 2012-10-25 12:15:31 +01:00
Jamie Matthews
16e249d60d Merge branch 'restframework2' into split-generic-views
* restframework2:
  Fix ModelSerializer logic for fields with default value, which should have required=False set
  Added @diviei - Thanks!
  Fix typo reported by @diviei
2012-10-25 11:12:10 +01:00
Tom Christie
3e751ccd8a Fix ModelSerializer logic for fields with default value, which should have required=False set 2012-10-24 20:58:28 +01:00
Jamie Matthews
32ebf96ef6 Split concrete generic views up into separate bits of functionality 2012-10-24 18:22:29 +01:00
Jamie Matthews
607c31c6d8 Move per-field and cross-field validation into a single method 2012-10-24 12:12:27 +01:00
Jamie Matthews
d60d598e02 Clean up internal names and documentation 2012-10-24 11:43:30 +01:00
Jamie Matthews
ac2d39892d Add cross-field validate method 2012-10-24 11:39:17 +01:00
Jamie Matthews
388a807f64 Switch from clean_<fieldname> to validate_<fieldname>, clarify documentation 2012-10-24 11:27:01 +01:00
Jamie Matthews
51fae73f3d Implement per-field validation on Serializers 2012-10-24 09:28:10 +01:00
Tom Christie
5d76f03ac6 Merge pull request #315 from Roarster/emptymanytomany
#314 Fix for manytomany field being required in the payload even though ...
2012-10-22 15:00:56 -07:00
Ian Strachan
c7a0d52fd7 #314 Fix for manytomany field being required in the payload even though the field is specified as readonly in the serializer 2012-10-22 22:24:26 +01:00
Marko Tibold
d1e05ea8d4 Merge commit '95a670de41a246777bc1e448dca8cc576b7b86ea' into BrowsableAPIRenderer
Conflicts:
	rest_framework/renderers.py - manually resolved conflict
2012-10-22 20:09:36 +02:00
Tom Christie
95a670de41 Merge field changes: .default and .widget 2012-10-22 15:24:09 +01:00
Jamie Matthews
45d4622f09 Fix serialization of reverse relationships 2012-10-22 15:12:25 +01:00
Marko Tibold
ab1a12bfec Refactoring BrowsableAPIRenderer 2012-10-21 23:04:12 +02:00
Marko Tibold
c30712a5c8 Remove redundant check if method=='DELETE' 2012-10-21 22:23:54 +02:00
Tom Christie
93f1aa4f69 Remove initial kwarg, add default. 2012-10-21 17:41:05 +01:00
Marko Tibold
71a93930fd Fixing spelling errors. 2012-10-21 16:34:07 +02:00
Tom Christie
efabd2bb1b docs, docs, docs, docs, docs, docs, docs 2012-10-19 19:59:55 +01:00
Tom Christie
a7390fe704 Fix up widget choices 2012-10-19 09:47:01 +01:00
Tom Christie
dab177e29e Drop help_text 2012-10-19 09:20:54 +01:00
Tom Christie
643d3491a6 First pass at pastebin tutorial 2012-10-18 23:48:52 +01:00
Ian Strachan
d70e387f10 Added tests for dotted notation in serializer field source 2012-10-18 23:45:16 +01:00
Tom Christie
c341799344 Apply readonly on RelatedField 2012-10-18 22:19:54 +01:00
Tom Christie
d1746e2f3c Allow callables in dotted notation like Field(source='foo.bar') 2012-10-18 22:03:48 +01:00
Tom Christie
fed235dd01 Make settings consistent with corrosponding view attributes 2012-10-17 23:09:11 +01:00
Tom Christie
e126b61542 Negotiation API finalized. .select_renderers and .select_parsers 2012-10-17 22:58:18 +01:00
Tom Christie
fb56f215ae Added media_type to .parse() - Consistency with renderer API. 2012-10-17 22:39:07 +01:00
Tom Christie
4231995fbd parser_context includes view, request, args, kwargs. (Not meta and upload_handlers)
Consistency with renderer API.
2012-10-17 22:19:59 +01:00
Tom Christie
99d48f9003 Drop .parse_string_or_stream() - keep API minimal. 2012-10-17 22:07:56 +01:00
Rob Dobson
38673c35d4 Make default field check safe for boolean values whereby 'False' may be an acceptable default value 2012-10-17 19:12:34 +01:00
Tom Christie
b78872b7db Use two seperate exceptions - AuthenticationFailed, and NotAuthenticated
Cleaner seperation of exception and resulting HTTP response.
Should result in more obvious error messages.
2012-10-17 15:23:36 +01:00
Tom Christie
dc9384f9b4 Use correct status code 2012-10-17 15:09:20 +01:00
Tom Christie
5ae49a4ec4 Add docs for 401 vs 403 responses 2012-10-17 14:59:53 +01:00
Tom Christie
4c17d1441f Add Unauthenticated exception. 2012-10-17 14:59:37 +01:00
eofs
520a183cc6 Typo in class name 2012-10-17 10:41:23 +03:00
Tom Christie
ae680b13da Merge branch 'restframework2' of https://github.com/tomchristie/django-rest-framework into restframework2 2012-10-16 09:20:20 +01:00
Tom Christie
4fe734a91a Merge pull request #296 from ulmus/restframework2
Removed serializers.TextField and related tests
2012-10-15 06:04:55 -07:00
Tom Christie
3c8f01b985 Explicit CSRF failure message. Fixes #60. 2012-10-15 14:03:36 +01:00
Tom Christie
9c1fba3483 Tweak parsers to take parser_context 2012-10-15 13:27:50 +01:00
Jens Alm
9f3ff0105a Removed serializer.TextField and related tests 2012-10-15 14:09:29 +02:00
Jens Alm
c942726509 Added docs, integer fields and refactored models.TextField to use CharField
I realized that per the django forms, there is no need for a separate
TextField, an unlimited CharField is perfectly good.
Also added default field for the different IntegerField types
2012-10-15 13:46:44 +02:00
Jens Alm
afbc9684f2 Revert "Support for request-based queryset limits on ListModelMixin"
This reverts commit de4604be0a.
2012-10-15 11:49:56 +02:00
Jens Alm
de4604be0a Support for request-based queryset limits on ListModelMixin
ListModelMixin uses the get_queryset from the MultipleObjectMixin. This
method can be overridden on the View class to return a different
queryset, but get_queryset doesn't accept a request parameter in. This
commit adds the limit_list hook to override if you want to limit the
queryset based on request-information such as the logged in user.
2012-10-15 11:47:56 +02:00
Jens Alm
36cc56bc9d Added tests for TextField 2012-10-15 10:06:50 +02:00
Jens Alm
241be38340 Added TextField to recognized fields 2012-10-15 09:14:01 +02:00
Tom Christie
551c86c43a Documentation for parsers 2012-10-14 22:43:07 +01:00
Tom Christie
7608cf1193 Improve documentation for Requests 2012-10-13 15:07:43 +01:00
Ben Konrath
1d054f9572 Use Decimal (properly) everywhere. 2012-10-11 14:19:29 +02:00
Ben Konrath
6f736a6823 Explicitly use Decimal for creating filter test data.
This fixes a Travis build failures on python 2.6:

https://travis-ci.org/#!/tomchristie/django-rest-framework/builds/2746628
2012-10-11 13:55:16 +02:00
Tom Christie
6300334aca Sanitise JSON error messages 2012-10-11 13:53:12 +02:00
Tom Christie
9094f93d18 Sanitise JSON error messages 2012-10-11 11:21:50 +01:00
Ben Konrath
5454162b04 Define 'page' query field name in one place. 2012-10-11 12:01:07 +02:00
Ben Konrath
6fbd411254 Make query filters work with pagination. 2012-10-11 12:01:07 +02:00
Ben Konrath
e295f616ec Fix small PEP8 problem. 2012-10-11 12:01:07 +02:00
Ben Konrath
692203f933 Check for 200 status when unknown filter requested.
This changes the test from the failing checking for status 400. See
discussion here:

https://github.com/tomchristie/django-rest-framework/pull/169#issuecomment-9240480
2012-10-11 12:01:07 +02:00
Ben Konrath
1e9ece0f93 First attempt at adding filter support.
The filter support uses django-filter to work its magic.
2012-10-11 12:01:07 +02:00
Tom Christie
83f39b3dce Don't fail when no data provided 2012-10-10 16:41:08 +01:00
Tom Christie
221ecd2182 Fix session auth 2012-10-10 16:36:25 +01:00
Tom Christie
d905d1cbd3 Fix yaml rendering 2012-10-10 16:34:00 +01:00
Tom Christie
5c7f3e23ee Tidy up APISettings object to not rely on module state 2012-10-10 12:54:40 +01:00
Tom Christie
db6b5a990b Fix key ordering in json. (sort if it's a sorted dictc representation, or not otherwise) 2012-10-10 12:32:23 +01:00
Tom Christie
648d2be29b Make sure JSON output in Browseable API is nicely indented 2012-10-10 12:15:18 +01:00
Tom Christie
ccd2b0117d Permissions and throttles no longer have a view attribute on self. Explicitly passed to .has_permissions(request, view, obj=None) / .allow_request(request, view) 2012-10-10 10:02:37 +01:00
Tom Christie
900c4b625b api_key -> auth_token to avoid TastyPie conflict 2012-10-10 09:50:15 +01:00
Tom Christie
44281c3996 Remove 'tut 6 - resources' from the docs, since it doesn't exist yet 2012-10-10 09:36:18 +01:00
Tom Christie
a3ab66eca4 Add 'to_many' flag in get_related_field 2012-10-09 17:51:32 +01:00
Tom Christie
9bbc1cc403 Add flag in get_related_field 2012-10-09 17:49:04 +01:00
Tom Christie
97a7f27c82 Rename HTMLTemplateRenderer -> HTMLRenderer, DocuemntingHTMLRenderer -> BrowseableAPIRenderer 2012-10-09 15:58:48 +01:00
Tom Christie
94401b43d2 Flesh out quickstart guide and make some style tweaks 2012-10-09 13:50:26 +01:00
Tom Christie
7c4d50f621 Fix browseable API form display error for authenticated permissions 2012-10-09 12:48:49 +01:00
Tom Christie
115e61be09 Added quickstart guide 2012-10-09 12:01:17 +01:00
Tom Christie
dc52ceaaa2 Remove Field handling relations/relationship managers - use RelatedField/ManyRelatedField instead 2012-10-09 10:25:01 +01:00
Tom Christie
5c17a60176 Tweak authtoken 2012-10-09 09:57:31 +01:00
Tom Christie
beea6487b2 Function based views get proper naming in browseable API 2012-10-09 09:57:08 +01:00
Tom Christie
65f592866c Fix issue where required fields were not being properly validated. Also make model fields with a default value be not required 2012-10-08 17:53:18 +01:00
Tom Christie
4a21b3557e Fix fiddly content-overloading bug 2012-10-08 17:10:50 +01:00
Tom Christie
f79ed6175d Add RetrieveDestroyAPIView and remove Metadata mixin 2012-10-08 14:13:15 +01:00