Commit Graph

2425 Commits

Author SHA1 Message Date
Tom Christie
bdacb66244 Lowercase HTML label tag. Refs #2121. 2014-11-25 08:59:45 +00:00
Andreas Bernacca
2ec0e7417f removed the whole footer section 2014-11-21 22:45:28 +01:00
Andreas Bernacca
fe9a758d7e remove sponsored by dabapps 2014-11-21 22:15:43 +01:00
Tom Christie
5b671cb515 Fix rendering HTML form when API error raised. Closes #2103. 2014-11-20 16:14:51 +00:00
Tom Christie
1aa58d16be Py3 fix - .items is not a list. 2014-11-20 14:26:40 +00:00
Tom Christie
6ec96d0bac Resolve PUT and POST buttons in browsable API 2014-11-20 13:43:38 +00:00
Tom Christie
9c6bead8b6 Add --- null option for selects. Closes #2096. 2014-11-20 12:38:08 +00:00
Tom Christie
6794b3380a Fixes for defaulting empty HTML fields to '', None, or empty. 2014-11-20 12:15:33 +00:00
Tom Christie
7d417fc678 Make _force_text_recursive private. 2014-11-20 12:02:58 +00:00
Tom Christie
bde7255413 Fix non-determanistic default bug. Closes #2099. 2014-11-20 09:30:49 +00:00
Tom Christie
40b1ea919b Fix non-determanistic unique constraint mapping. Refs #2092. 2014-11-19 14:51:49 +00:00
Tom Christie
8516281078 Minor fix for #2092. 2014-11-19 14:40:30 +00:00
Tom Christie
8586290df8 Apply defaults and requiredness to unique_together fields. Closes #2092. 2014-11-19 13:55:10 +00:00
Tom Christie
6cb6510132 Use translatable error strings. Refs #2063. 2014-11-19 12:15:05 +00:00
Tom Christie
e49d22dbda Allow blank choices to render. Closes #2071. 2014-11-19 09:31:26 +00:00
Tom Christie
f573aaee4e List serializer no explicitly renders as 'not supported for HTML input' 2014-11-18 17:25:05 +00:00
Tom Christie
c0d356edaa Fix byte decode error rendering 'display_name' with OPTIONS. Closes #2084 2014-11-18 15:42:52 +00:00
Tom Christie
080bd3d24e Add comment ref #2089 2014-11-18 15:38:31 +00:00
Tom Christie
084354d3eb Only pass instance to form for PUT and PATCH. Closes #2073. 2014-11-18 15:11:40 +00:00
Tom Christie
5e74f02d61 Note removal of 'save_object' and fail loudly if it exists 2014-11-18 14:49:00 +00:00
Doug Beck
67735687b2 Ensure _resolve_model does not return None 2014-11-18 01:26:23 -05:00
Tom Christie
0f508c5821 Docs for advanced default argument usage. Closes #1945 2014-11-17 18:36:32 +00:00
Tom Christie
5f580cad52 Remove class='form-control' for file inputs. Closes #2065. 2014-11-17 18:17:44 +00:00
Gregor Müllegger
ad060aa360 More helpful error message when default .create fails. Closes #2013. 2014-11-15 15:29:52 +01:00
Eleni Lixourioti
1aa7783095 Merge branch 'version-3.1' of github.com:tomchristie/django-rest-framework into oauth_as_package
Conflicts:
	.travis.yml
2014-11-15 14:27:41 +00:00
Tom Christie
4e03518438 required=False for nullable relationships 2014-11-13 23:30:42 +00:00
Tom Christie
7394dcec9e ReturnList and ReturnDict wrapped at nicer point 2014-11-13 23:05:44 +00:00
Tom Christie
cb672a0ecb Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2014-11-13 22:16:53 +00:00
Tom Christie
992330055e Refactor many 2014-11-13 21:11:13 +00:00
Tom Christie
78a741be27 Split out .create and .update on ListSerializer 2014-11-13 20:24:48 +00:00
Tom Christie
fd97d9bff8 Use select inputs for relationships. Closes #2058. 2014-11-13 19:35:03 +00:00
Tom Christie
ea98de9b88 Model fields with .blank or .null now map to required=False. Closes #2017. Closes #2021. 2014-11-13 19:28:57 +00:00
Kevin Chang
dbb435ca31 Added missing default style for FileField 2014-11-12 12:46:09 -08:00
Tom Christie
e70b82b6c8 Update html.py 2014-11-12 15:38:39 +00:00
Tom Christie
1838e18aee Update html.py 2014-11-12 15:38:05 +00:00
Kevin London
9521b69711 #2054: Update exceptions to allow custom detail
This addresses the changes requested in #2054 and allows for custom messages that do not necessarily require a string formatter be present in the detail message.
2014-11-10 11:08:39 -08:00
Tom Christie
62ce653c61 Update fields.py 2014-11-10 14:44:26 +00:00
Tom Christie
fd7db776ad Bring UniqueValidator implementation in line with other uniquness validators. 2014-11-10 12:32:03 +00:00
Tom Christie
f387cd89da Uniqueness constraints imply a forced 'required=True'. Refs #1945 2014-11-10 12:21:27 +00:00
Tom Christie
51d86a6505 Support dotted source on relational fields 2014-11-07 16:05:07 +00:00
Tom Christie
3e878a3207 Fix initial data on serializers to reflect writable fields 2014-11-07 15:38:27 +00:00
Tom Christie
02844a1507 Fix up fieldset templates. Closes #2039 2014-11-07 15:22:17 +00:00
Tom Christie
4e2627736f Merge branch 'master' into dont-deserialize-twice 2014-11-07 14:14:18 +00:00
Tom Christie
55c44fc921 Fix serializer initial data 2014-11-07 14:13:50 +00:00
Tom Christie
041435f4ee Prevent re-running deserialization. Closes #1975. 2014-11-07 14:08:20 +00:00
Tom Christie
bb21216a7c Metadata API should examine child serializer if passed parent ListSerializer. Closes #2035. 2014-11-07 12:16:25 +00:00
Tom Christie
eafb7e1e24 ModelField fix. Closes #2018. 2014-11-07 11:44:16 +00:00
Tom Christie
a16a8a10a9 .copy() for serializer .data and .errors dictionaries 2014-11-07 11:16:26 +00:00
Tom Christie
e399140031 Minor tweaks 2014-11-07 10:51:08 +00:00
Tom Christie
555930ee81 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2014-11-07 10:14:03 +00:00
Tom Christie
9b19b5a594 Serializer cleanup 2014-11-07 10:13:46 +00:00
Tom Christie
a40b805963 Merge pull request #2038 from NextHub/master
Fixed base_url duplication in FileField.use_url
2014-11-06 17:37:52 +00:00
Tom Christie
db1dd8e240 Tests & fixes for list serialization 2014-11-06 17:32:33 +00:00
Tymur Maryokhin
ea76dc18b6 Fixed base_url duplication in FileField.use_url
Django already joins base_url when constructing FileField.url
2014-11-06 18:20:55 +01:00
Tom Christie
4e001dbb7a Drop usage of SortedDict. Closes #2027. 2014-11-06 12:00:30 +00:00
Tom Christie
a919068c5d Fix exception style for py3 2014-11-06 11:35:34 +00:00
Tom Christie
4482be46ae More precise assertion error for bulk update 2014-11-06 11:10:36 +00:00
Tom Christie
ed541864e6 Support for bulk create. Closes #1965. 2014-11-06 10:34:59 +00:00
Tom Christie
73daf40715 ModelField should support max_length. Closes #2018. 2014-11-05 15:51:45 +00:00
Tom Christie
49fae23000 Pass through kwargs to both Serializer and ListSerializer 2014-11-05 15:23:13 +00:00
Tom Christie
d048d32876 Minor cleanup 2014-11-05 13:40:21 +00:00
Tom Christie
2daf085100 Copy accepted_renderer and accepted_media_type when cloing a request. Closes #1950. 2014-11-05 11:08:32 +00:00
Tom Christie
0a5d088287 Fix failing copy of fields when RegexValidator is used. Closes #1954. 2014-11-05 10:48:30 +00:00
Tom Christie
26b6180f50 Support None if initial part of dotted lookup returns None. Closes #1223. 2014-11-05 10:28:34 +00:00
Aron Jones
4d3831cae8 add glyphicons font files 2014-11-04 22:01:23 -05:00
Tom Christie
003c42b0f5 Use invalid_data key for error message. Closes #2002. 2014-11-03 14:01:02 +00:00
tanwanirahul
6a095e9110 Merge remote-tracking branch 'rahul/master' 2014-11-03 14:45:49 +01:00
tanwanirahul
d972df7c9c Ability to override default method names by customizing it 2014-11-03 14:43:53 +01:00
Tom Christie
d27b8cc09b PUT as create docs, and move mixin out to external gist 2014-11-03 12:00:19 +00:00
Tom Christie
37845968cd Merge master 2014-11-03 11:39:54 +00:00
Tom Christie
650a91ac24 Fix URL escaping 2014-11-03 11:29:48 +00:00
Tom Christie
96bb77dc35 Version 2.4.4 2014-11-03 11:20:18 +00:00
Tom Christie
ddc177732c Merge branch 'master' into version-3.0 2014-11-03 11:10:47 +00:00
Tom Christie
b5c98f686d Properly escape URLs when replacing query parameter 2014-11-03 11:10:24 +00:00
Tom Christie
65a0d083d6 Merge pull request #1963 from carljm/lazy-fields
Set up serializer fields lazily on-demand.
2014-10-31 16:40:06 +00:00
Tom Christie
207208fedf Lazy loading of fields and validators. Closes #1963. 2014-10-31 16:38:39 +00:00
Tom Christie
11075d3770 Merge branch 'master' into version-3.0 2014-10-31 16:05:45 +00:00
Tom Christie
5e1ed0aa95 Merge pull request #1922 from JonesChi/fix_follow
Fix follow does not work on get of APIRequestFactory
2014-10-31 16:05:17 +00:00
Tom Christie
bacf8cfa9d Guard against malicious string inputs for numbers. Closes #1903. 2014-10-31 15:41:00 +00:00
Tom Christie
0b864acd98 Merge pull request #1785 from gdoermann/master
Frameworks throws AssertionError saying you cannot set required=True and...
2014-10-31 15:29:06 +00:00
Tom Christie
159c3de9fc Merge master 2014-10-31 15:19:15 +00:00
Tom Christie
45b5f23f31 Update to bootstrap 3. Closes #1085 2014-10-31 14:56:41 +00:00
Tom Christie
2762205887 Validator documentation and tweaks 2014-10-31 13:47:36 +00:00
Tom Christie
cd40dcb065 Ensure json.dumps(separators=...) works on both 2.x and 3.x 2014-10-30 16:53:12 +00:00
Tom Christie
9ebaabd6eb unique_for_date/unique_for_month/unique_for_year 2014-10-28 16:21:49 +00:00
Tom Christie
f9c0e6ee1b unique_for_month, unique_for_year 2014-10-22 16:29:09 +01:00
Tom Christie
ae53fdff9c First pass at unique_for_date, unique_for_month, unique_for_year 2014-10-22 13:30:28 +01:00
Tom Christie
c5d1be8eac .validate() can raise field errors or non-field errors 2014-10-22 10:32:32 +01:00
Erik Wickstrom
674855a114 Used Django utils SortedDict instead of stdlib's OrderedDict for
wider compatability.
2014-10-20 08:47:45 -07:00
Erik Wickstrom
12b677039d Maintain order of views on router for api root view. 2014-10-19 21:03:33 -07:00
Carl Meyer
140f8620ae Set up serializer fields lazily on-demand.
This avoids AppRegistryNotReady problems in Django 1.7 with nested serializers,
which are instantiated at import time, possibly before Django's app registry is
fully populated.
2014-10-17 09:50:57 -06:00
Tom Christie
05cbec9dd7 Use serializers.ValidationError 2014-10-17 13:23:14 +01:00
Tom Christie
5882a7a9d5 Tweak 2014-10-16 20:47:57 +01:00
Tom Christie
3af5df1955 Performance for PK fields 2014-10-16 20:47:57 +01:00
Tom Christie
32fd82ba0d get_attribute method on fields 2014-10-16 20:47:57 +01:00
Tom Christie
7b666e982c Stricter checking for failure cases. 2014-10-16 20:47:57 +01:00
Marty Alchin
4248a6c499 Add a keys method to BindingDict 2014-10-15 17:54:58 -07:00
Tom Christie
b4f3379c70 Support fields that reference a simple callable 2014-10-15 15:13:28 +01:00
Tom Christie
e8ea365c15 Moar form styling 2014-10-15 15:11:01 +01:00
Tom Christie
36fbc7678c Moar form styling 2014-10-15 13:35:12 +01:00
Tom Christie
cc1c423255 Reorganize to use template_pack in form rendering 2014-10-15 11:12:34 +01:00
Tom Christie
e558f806c0 Drop template includes 2014-10-15 10:04:01 +01:00
Tom Christie
faa5bd9f53 Merge branch 'version-3.0' of https://github.com/tomchristie/django-rest-framework into version-3.0 2014-10-15 09:25:02 +01:00
Tom Christie
e272a36c9b Fix 'lookup_field' on ModelSerializer. Closes #1944. 2014-10-15 09:24:49 +01:00
Andy Freeland
81abf2bf34 Rename preform_update to perform_update 2014-10-12 01:19:53 -04:00
Tom Christie
826b5a8897 Relations in 'read_only_fields' should not include a queryset kwarg 2014-10-10 15:34:00 +01:00
Tom Christie
b5a4216aff Flake8 2014-10-10 15:08:43 +01:00
Tom Christie
d8a8987ab1 Tweaks 2014-10-10 14:32:02 +01:00
Tom Christie
d9a199ca0d exceptions.ValidationFailed, not Django's ValidationError 2014-10-10 14:16:09 +01:00
Tom Christie
a0e852a4d5 Use BoundField .name on fields 2014-10-09 16:30:06 +01:00
Tom Christie
f83ed19d22 Checks and repr on BoundField 2014-10-09 16:29:34 +01:00
Tom Christie
5d247a65c8 First pass on nested serializers in HTML 2014-10-09 15:11:19 +01:00
Tom Christie
5f4cc52ef5 Tweaking 2014-10-09 10:11:44 +01:00
Tom Christie
87fdc73f64 Merge pull request #1920 from thedrow/topic/encoder-improvements
The JSON encoder now uses tuples instead of lists
2014-10-09 08:31:46 +01:00
Tom Christie
f7d43f530a Limit blank string -> None to just be on relational fields 2014-10-08 17:03:14 +01:00
Tom Christie
5ead8dc89d Support empty file fields 2014-10-08 16:59:52 +01:00
Tom Christie
4c015df28c Tweaks 2014-10-08 16:43:33 +01:00
Tom Christie
14ae52a24e More gradual deprecation 2014-10-08 16:09:37 +01:00
Tom Christie
28f3b314f1 .validate() returning validated data. transform_<field> hooks. 2014-10-08 12:36:28 +01:00
Tom Christie
0cbb57b40f Tweak pre/post save hooks. Return instance in .update(). 2014-10-08 12:17:30 +01:00
Tom Christie
6b09e5f2bb Tests for generic relationships 2014-10-08 11:22:10 +01:00
Tom Christie
093febb912 Tests for relational fields 2014-10-08 11:04:08 +01:00
Xavier Ordoquy
311d315a73 Reverted 59d0a0387d and fixed the tests 2014-10-08 08:33:28 +02:00
Tom Christie
3fa4a1898a Reintroduce save hooks 2014-10-07 17:21:12 +01:00
Tom Christie
6bfed6f852 Enforce uniqueness validation for relational fields 2014-10-07 17:04:53 +01:00
Jones Chi
2dfe75c23a Fix follow does not work on APIClient
Handle follow just like Django's Client.
2014-10-06 15:10:35 +08:00
Tom Christie
3a3e2bf57d Serializer.save() takes keyword arguments, not 'extras' argument 2014-10-03 13:42:06 +01:00
Tom Christie
e6c5ebdda6 Fix indentation 2014-10-03 13:14:17 +01:00
Tom Christie
01c0857f8b Merge branch 'version-3.0' of https://github.com/tomchristie/django-rest-framework into version-3.0 2014-10-03 13:12:43 +01:00
Tom Christie
765b0b33bf Revert accidental stupidity 2014-10-03 13:12:23 +01:00
Tom Christie
dd47d8aa45 Merge pull request #1921 from koordinates/fix-typos
Minor: fix spelling and grammar, mostly in 3.0 announcement
2014-10-03 09:24:26 +01:00
Craig de Stigter
857a8486b1 More spelling tweaks 2014-10-03 09:00:33 +13:00
Craig de Stigter
dfab9af294 Minor: fix spelling and grammar, mostly in 3.0 announcement 2014-10-03 08:41:18 +13:00
Tom Christie
fec7c4b458 Browsable API tweaks 2014-10-02 18:13:15 +01:00
Tom Christie
df7b6fcf58 First pass on incorperating the form rendering into the browsable API 2014-10-02 16:24:24 +01:00
Omer Katz
79e91dff92 The encoder now returns tuples instead of lists.
Tuples take a little less memory which is significant when serializing a lot of objects.
2014-10-02 16:44:20 +03:00
Tom Christie
ffc6aa3abc More forms support 2014-10-01 21:35:27 +01:00
Tom Christie
c171fa21ac First pass at HTML form rendering 2014-10-01 19:44:46 +01:00
Tom Christie
c630a12e26 Deal with lazy strings in serializer reprs 2014-10-01 13:24:47 +01:00
Tom Christie
381771731f Use six.text_type instead of str everywhere 2014-10-01 13:09:14 +01:00
Tom Christie
d1b2c8ac7f Absolute URLs for file fields 2014-09-29 14:12:26 +01:00
Tom Christie
d2d412993f .validate() on serializer fields 2014-09-29 11:24:21 +01:00
Tom Christie
9805a085fb UniqueTogetherValidator 2014-09-29 11:23:02 +01:00
Tom Christie
43fd5a8730 Uniqueness validation 2014-09-29 09:24:03 +01:00
Tom Christie
dee3f78cb6 FileField and ImageField 2014-09-26 17:06:20 +01:00
Tom Christie
6090144608 Simplify serialization slightly 2014-09-26 14:32:44 +01:00
Tom Christie
33ccf40b76 Update version number 2014-09-26 13:14:08 +01:00
Tom Christie
2e87de0143 Added ListField 2014-09-26 13:08:20 +01:00
Anton D. Kachalov
802913d5e4 [templates/rest_framework/base.html] Separate object-form' and generic-content-form' IDs for POST and PUT forms
Signed-off-by: Anton D. Kachalov <mouse@yandex-team.ru>
2014-09-26 16:07:46 +04:00
Tom Christie
8b8623c5f8 Allow many, partial and context in BaseSerializer 2014-09-26 12:48:20 +01:00
Tom Christie
43e80c74b2 Release notes 2014-09-26 11:56:29 +01:00
Tom Christie
2859eaf524 request.data attribute 2014-09-26 10:46:52 +01:00
Tom Christie
417fe1b675 Partial support 2014-09-25 13:37:26 +01:00
Tom Christie
3a5335f09f Fix syntax error 2014-09-25 13:12:02 +01:00
Tom Christie
8ee92f8a18 Refuse to downcast from datetime to date or time 2014-09-25 13:10:33 +01:00
Tom Christie
b47ca158b9 Check for redundant on SerializerMethodField 2014-09-25 12:09:12 +01:00
Tom Christie
64632da371 Clean up bind - no longer needs to be called multiple times in nested fields 2014-09-25 11:40:32 +01:00
Tom Christie
b22c9602fa Automatic field binding 2014-09-25 11:04:18 +01:00
Tom Christie
1420c76453 Ensure proper sorting of 'choices' attribute on ChoiceField 2014-09-25 10:49:25 +01:00
Tom Christie
fb1546ee50 Enforce field_name != source 2014-09-24 20:53:37 +01:00
Tom Christie
127c0bd3d6 Custom deepcopy on Field classes 2014-09-24 20:25:59 +01:00
Tom Christie
630d472055 Merge branch 'master' into version-3.0 2014-09-24 14:10:00 +01:00
Tom Christie
f4b1dcb167 OPTIONS support 2014-09-24 14:09:49 +01:00
José Padilla
e8c01ecdab Correctly propagate cloned_request for OPTIONS
Update to fix pending changes in #1507
2014-09-23 21:12:58 -04:00
Tom Christie
aa84432f9b Merge pull request #1896 from dbrgn/csrf_response
Changed return status for CSRF failures to HTTP 403
2014-09-23 14:30:35 +01:00
Tom Christie
0404f09a7e NullBooleanField 2014-09-23 14:30:17 +01:00
Tom Christie
f22d0afc3d Tests for field choices 2014-09-23 14:15:00 +01:00
Danilo Bargen
b187f53453 Changed return status for CSRF failures to HTTP 403
By default, Django returns "HTTP 403 Forbidden" responses when CSRF
validation failed[1]. CSRF is a case of authorization, not of
authentication. Therefore `PermissionDenied` should be raised instead
of `AuthenticationFailed`.

[1] https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#rejected-requests
2014-09-23 14:16:08 +02:00
Tom Christie
5d80f7f932 allow_blank, allow_null 2014-09-22 17:46:02 +01:00
Tom Christie
5a95baf2a2 Tests & tweaks for ChoiceField 2014-09-22 16:52:57 +01:00
Tom Christie
b5454dd022 Tests and tweaks for choice fields 2014-09-22 16:50:04 +01:00
Tom Christie
e5f0a97595 More compat fixes 2014-09-22 16:45:06 +01:00
Tom Christie
5586b6581d Support format=None for date/time fields 2014-09-22 16:02:59 +01:00
Tom Christie
4db23cae21 Tweaks to DecimalField 2014-09-22 15:34:06 +01:00
Tom Christie
249253a144 Fix compat issues 2014-09-22 14:54:33 +01:00
Tom Christie
c54f394904 Ensure 'messages' in fields are respected in preference to default validator messages 2014-09-22 13:57:45 +01:00
Tom Christie
afb3f8ab0a Tests and tweaks for text fields 2014-09-22 13:26:47 +01:00
Tom Christie
af46fd6b00 Field tests and associated cleanup 2014-09-22 12:25:57 +01:00
Tom Christie
cf72b9a8b7 Moar tests 2014-09-19 16:43:13 +01:00
Tom Christie
20424251a3 Version 2.4.3 2014-09-19 14:26:28 +01:00
Tom Christie
88008c0a68 Merge branch 'master' into version-3.0 2014-09-19 14:05:50 +01:00
Piper Merriam
7f758d1cf6 Fix missing CSRF exemption on viewsets 2014-09-18 10:30:13 -06:00
Tom Christie
f90049316a Added a model update integration test 2014-09-18 15:47:27 +01:00
Tom Christie
106362b437 ModelSerializer.create() to handle many to many by default 2014-09-18 14:58:08 +01:00
Tom Christie
9fdb2280d1 First pass on ManyRelation 2014-09-18 14:23:00 +01:00
Tom Christie
87734be5f4 Configuration correctness tests on ModelSerializer 2014-09-18 12:17:21 +01:00
Tom Christie
5b7e4af0d6 get_base_field() refactor 2014-09-18 11:20:56 +01:00
Tom Christie
8c8d355e76 Update routers.py 2014-09-17 15:51:17 +01:00
Tom Christie
3376c37861 Merge pull request #1865 from mskrajnowski/default-router-listless-viewset
DefaultRouter support for viewsets without an implemented default action
2014-09-17 15:50:12 +01:00
José Padilla
de5fbf7d63 Update initial migration to work on Python 3 2014-09-17 10:23:53 -04:00
Tom Christie
c0155fd9dc Update comments 2014-09-17 14:11:53 +01:00
José Padilla
a37db382c6 Update authtoken latest Django 1.7 migration 2014-09-17 09:01:49 -04:00
Tom Christie
d196608d5a Fix nested model serializer base class 2014-09-15 13:55:09 +01:00
Tom Christie
40dc588a37 Drop label from serializer fields when not needed 2014-09-15 09:50:51 +01:00
Tom Christie
afb28a44ad Dealing with reverse relationships 2014-09-12 21:32:20 +01:00
Tom Christie
e6c88a4233 Drop usage of validatiors.EMPTY_VALUES 2014-09-12 19:54:27 +01:00
Tom Christie
0ac52e0808 Use Resolver404 instead of base Exception 2014-09-12 17:06:37 +01:00
Tom Christie
b73a205cc0 Tests for relational fields (not including many=True) 2014-09-12 17:03:42 +01:00
Tom Christie
79715f01f8 Coerce dates etc to ISO_8601 in seralizer, by default. 2014-09-12 12:10:22 +01:00
Tom Christie
22af49bf8f Tidy up JSONEncoder 2014-09-12 11:50:20 +01:00
Tom Christie
5e39e159ee UNICODE_JSON and COMPACT_JSON settings 2014-09-12 11:38:22 +01:00
Tom Christie
250755def7 Clean up relational fields queryset usage 2014-09-12 10:59:51 +01:00
Tom Christie
6db3356c4d NON_FIELD_ERRORS_KEY setting 2014-09-12 10:21:35 +01:00
Tom Christie
0d354e8f92 to_internal_value() and to_representation() 2014-09-12 09:49:35 +01:00
Tom Christie
adcb64ab41 MethodField -> SerializerMethodField 2014-09-12 09:12:56 +01:00
Tom Christie
1e53eb0aa2 DecimalFields should still be quantized even without coerce_to_string 2014-09-11 21:57:32 +01:00
Tom Christie
040bfcc09c NotImplemented stubs for Field, and DecimalField improvements 2014-09-11 21:48:54 +01:00
Tom Christie
a751871991 no longer tightly coupled to private queryset API 2014-09-11 20:50:26 +01:00
Tom Christie
55650a743d no longer tightly coupled to private queryset API 2014-09-11 20:49:10 +01:00
Tom Christie
19b8f779de Throttles now use Retry-After header and no longer support the custom style 2014-09-11 20:43:44 +01:00
Tom Christie
bf52d04f4c Nice manager representations on serializer classes 2014-09-11 20:37:27 +01:00
Tom Christie
ab40780dc2 Tidy up lookup_class 2014-09-11 20:22:32 +01:00
Tom Christie
3318f75a71 Improve memory address removal for serializer representations 2014-09-11 13:50:53 +01:00
Tom Christie
54ccf7230d Improve memory address removal for serializer representations 2014-09-11 13:43:46 +01:00
Tom Christie
de301f3b66 Merge master 2014-09-11 13:20:44 +01:00
Marek Skrajnowski
ae84438530 Added DefaultRouter support (and test) for viewsets without the default action implemented, which is usually the list action. 2014-09-11 12:42:36 +02:00
Joe Binney
37d01f6088 Fix grammar in login error message 2014-09-10 20:27:52 -07:00
Tom Christie
80ba047347 Compat fixes 2014-09-10 16:57:22 +01:00
Tom Christie
01c8c0cad9 Added help_text argument to fields 2014-09-10 13:52:16 +01:00
Tom Christie
234369aefd Tweaks 2014-09-10 08:53:33 +01:00
Tom Christie
b1c07670ca Fleshing out serializer fields 2014-09-09 17:46:28 +01:00
Xavier Ordoquy
015a8122c7 Merge pull request #1852 from GVRV/bugfix/apiroot_get_regression
Make sure APIRoot.get can take on args, kwargs so router can be embedded...
2014-09-09 07:19:16 +02:00
Gaurav Dadhania
1a885b9e16 Make sure APIRoot.get can take on args, kwargs so router can be embedded within any URL pattern. 2014-09-09 05:42:52 +05:30
Tom Christie
21980b800d More test sorting 2014-09-08 14:24:05 +01:00
Tom Christie
168710813c Merge pull request #1844 from adamsc64/issue_1533
Fixed #1533 - Resolved issue with integer keys on nested choices never v...
2014-09-08 10:15:26 +01:00
Hamish Campbell
826d76a8c7 Stop the API Client converting empty lists/dicts to empty strings 2014-09-08 12:16:20 +12:00
Christopher Adams
613a301a36 Fixed #1533 - Resolved issue with integer keys on nested choices never validating.
- Added unit test for nested `choices` argument.
- Added unit test for non-nested `choices` argument.
2014-09-06 17:13:28 -04:00
Tom Christie
e8fac28d88 Merge pull request #1818 from tituomin/serializer-subclass-mapping
Better mapping for custom model fields to serializer fields.
2014-09-06 07:20:31 +01:00
Tom Christie
5bbfef36f4 Merge pull request #1838 from jbittel/fix-encoded-filename-rfc6266
Support RFC6266 encoded filenames
2014-09-06 07:13:12 +01:00
Jason Bittel
3f7fad2e5a Refactor disposition unpacking for clarity 2014-09-05 16:27:55 -07:00
José Padilla
c9d4497d81 Use force_text from compat 2014-09-05 15:58:53 -07:00
José Padilla
d44a8f24ff Merge remote-tracking branch 'poswald/view-description-as-promise' into view-description-as-promise 2014-09-05 15:34:16 -07:00
Jharrod LaFon
baa518cd89 Moved OAuth support out of DRF and into a separate package, per #1767 2014-09-05 15:30:01 -07:00
Jason Bittel
c8e475023c Fix encoded filename parsing to allow for lang 2014-09-05 15:22:43 -07:00
Jason Bittel
bcd8a24db1 Refactor encoded filename feature per #1531 2014-09-05 14:56:54 -07:00
Vladislav Vlastovskiy
bcca9ed0fd Removed use encoding available only in py3 2014-09-05 14:52:01 -07:00
Vladislav Vlastovskiy
8a9f34b838 Added get filename as encoded
This filename described in RFC 6266
2014-09-05 14:50:16 -07:00
José Padilla
ab213cbc41 Remove order_by from AutoFilterSet 2014-09-05 11:43:49 -07:00
Tom Christie
d934824bff Workin on 2014-09-05 16:29:46 +01:00
Tom Christie
2b47c6b700 Merge pull request #1834 from piotrjakimiak/master
Fix returning None when allow_none is True in CharField
2014-09-05 13:57:34 +01:00
Piotr Jakimiak
c3b841ae44 Use Serializer instead of ModelSerializer 2014-09-05 14:08:11 +02:00
Tom Christie
7dce364a35 Merge pull request #1829 from cezar77/login-form-errors
Display validation errors on login form
2014-09-05 12:59:26 +01:00
Cezar Pendarovski
2531b5cd86 Remove light gray bordering from the well with general message error 2014-09-05 13:28:47 +02:00
Piotr Jakimiak
6022b9ddd4 Fix comment 2014-09-05 12:00:17 +02:00
Piotr Jakimiak
d9633c6817 Fix returning None when allow_none is True in CharField 2014-09-05 11:08:34 +02:00
Cezar Pendarovski
34b3ee9ea1 Place general error message in well 2014-09-05 11:06:30 +02:00
Cezar Pendarovski
d3ee26ba99 Change bootstrap class warning to error 2014-09-05 10:55:49 +02:00
Tom Christie
2e632e5af2 Merge pull request #1820 from carltongibson/login-dropdown
Hide login link in browsable API if the login view is not registered.
2014-09-05 09:07:14 +01:00
Cezar Pendarovski
6106701c06 Input fields get hightlighted if login fails and username is persisted 2014-09-05 09:38:54 +02:00
Cezar Pendarovski
3bc858c30b General message error goes above submit button 2014-09-04 17:51:45 +02:00
Cezar Pendarovski
ea259e8bde Error messages are displayed below the input fields 2014-09-04 16:01:27 +02:00
Cezar Pendarovski
d56efb8f82 Display validation errors on login form 2014-09-04 15:26:00 +02:00
Carlton Gibson
ef1fb3d8df Prefer format and use named blocks 2014-09-04 08:54:50 +02:00
dpanesso
1ab782a430 Using user.get_username() instead of user.username.
This solves an error when using a auth model that does not have a username field.
2014-09-03 23:38:03 -05:00
Piper Merriam
fc9be55d43 Alter CSRF exemption implementation
The previous implementation of decorating `APIView.dispach` with the
`csrf_exempt` decorator allowed for an easy-to-make mistake where
someone could override the `dispatch` method on a view and inadvertantly
remove the csrf exemption of their api view.

By moving the decoration of the view into the `as_view` logic, it
becomes much more difficult to make this mistake.
2014-09-03 09:50:31 -06:00
Tom Christie
f08afe162c Version 2.4.2 2014-09-03 16:35:17 +01:00
Tom Christie
c1036c1753 More test passing 2014-09-03 16:34:09 +01:00
Michał Jaworski
afe9b37f60 remove rogue print 2014-09-03 17:21:56 +02:00
Michał Jaworski
9195ccb97f Use explicit many=True for object_serializer instantiation in PaginationSerializer and add catch dummy 'many' kwarg on DefaultObjectSerializer 2014-09-03 16:52:41 +02:00
Carlton Gibson
4947303f20 Moved li tags inside optional_login
as per https://github.com/tomchristie/django-rest-framework/pull/1820#discussion_r16987993
2014-09-03 09:54:36 +02:00
Tom Christie
f2852811f9 Getting tests passing 2014-09-02 17:41:23 +01:00
Tom Christie
ec096a1cac Add relations and get tests running 2014-09-02 15:07:56 +01:00
Carlton Gibson
fa0ef17737 Remove Login Dropdown when Auth Views are not registered.
Fixes #1738
2014-09-02 14:53:37 +02:00
Timo Tuominen
e437520217 Generator implementation of class mapping. 2014-09-01 17:02:48 +03:00
Timo Tuominen
582f6fdd4b Add utility function to match classes in dictionary. 2014-09-01 15:54:33 +03:00
Timo Tuominen
ae84b8b0e8 Traverse the method resolution order when mapping serializer fields. 2014-09-01 15:03:39 +03:00
Timo Tuominen
82d4b20832 Add subclass matching to serializer field mapping. 2014-09-01 15:02:49 +03:00
Carlton Gibson
14877464f6 Merge pull request #1816 from carltongibson/regression-login-template
Regression for #1810: Test login view renders
2014-09-01 10:31:07 +02:00
Tom Christie
55e779c856 Version 2.4.1 2014-09-01 09:07:55 +01:00
Carlton Gibson
1c9c5d5c32 Regression for #1810: Test login view renders 2014-09-01 10:07:05 +02:00
Daniel Roseman
b554c67d14 Restore body block to base template. 2014-08-30 13:28:12 +01:00
Tom Christie
4ac4676a40 First pass 2014-08-29 16:46:26 +01:00
Tom Christie
371d30aa87 Remove unused imports. 2014-08-29 12:54:52 +01:00
Tom Christie
b552b62540 get_paginate_by no longer takes optional .queryset 2014-08-29 12:54:03 +01:00
Tom Christie
f87d32558e Remove .link() and .action() decorators. 2014-08-29 12:53:45 +01:00
Tom Christie
ce7b2cded9 Remove deprecated generic views.
`MultipleObjectAPIView` and `SingleObjectAPIView` are no longer
required.
2014-08-29 12:48:49 +01:00
Tom Christie
72c0811576 Minor tidy up. 2014-08-29 12:48:04 +01:00
Tom Christie
b3253b4283 Remove .model usage in tests.
Remove the shortcut `.model` view attribute usage from test cases.
2014-08-29 12:35:53 +01:00
Tom Christie
b8c8d10a18 Remove page_size argument.
`paginate_queryset` no longer takes an optional `page_size` argument.
2014-08-29 11:38:54 +01:00
Tom Christie
e5e6329a22 Remove pk_url_field, slug_url_field, slug_field.
Closes #1773.
2014-08-29 11:29:26 +01:00
Tom Christie
b3bbf41670 Remove allow_empty 2014-08-29 11:09:35 +01:00
Tom Christie
0f8fdf4e72 Remove allow_empty.
Closes #1774.
2014-08-29 10:57:24 +01:00
Tom Christie
f62c874ea9 Remove filter_backend.
Closes #1775.
2014-08-29 10:48:40 +01:00
Tom Christie
2a61ed8bac 2.4 Release notes 2014-08-29 10:10:17 +01:00
Tom Christie
8f4ae06b3b Merge pull request #1784 from tomchristie/remove-model-attribute
Deprecate `.model` attribute on views
2014-08-29 10:03:07 +01:00
Cezar Pendarovski
5380889275 Validation errors in the rendered HTML fixed 2014-08-28 10:39:01 +02:00
Cezar Pendarovski
e5d88a80a9 Put all TextNodes (method names) back to same line with parent element 2014-08-27 09:41:33 +02:00
Cezar Pendarovski
f6cbd88618 Merge remote-tracking branch 'upstream/master' into fix-1719
Conflicts:
	rest_framework/templates/rest_framework/base.html
2014-08-25 17:28:22 +02:00
Cezar Pendarovski
4d582fd9ff Made all color declarations in bootstrap-tweaks.css consistent 2014-08-22 10:12:52 +02:00
Cezar Pendarovski
1e2bd1294e Fixed the issue with the non-draggable horizontal scrollbar 2014-08-22 09:53:03 +02:00
Greg Doermann
f27a28682b Frameworks throws AssertionError saying you cannot set required=True and read_only=True on editable=False model fields. We should not make the field required if editable=False. 2014-08-20 11:00:37 -06:00
Tom Christie
4d8c63abc9 Deprecate .model in related routers/permissions 2014-08-20 17:15:46 +01:00
Dmitry Mukhin
3b07d0c997 Merge branch 'master' into set-retry-after
Conflicts:
	tests/test_throttling.py
2014-08-20 20:04:48 +04:00
Tom Christie
9372cc8c31 Deprecate .model attribute on views 2014-08-20 16:24:52 +01:00
Tom Christie
59b47eac14 Fix cache_throttle typo 2014-08-20 12:32:24 +01:00
Tom Christie
63d02dbea8 Drop six from compat. 1.4.2 is now the lowest supported version. 2014-08-19 17:06:55 +01:00
Tom Christie
5358243ca5 Merge pull request #1778 from linovia/bugfix/1398
Bugfix/1398
2014-08-19 16:16:02 +01:00
Tom Christie
2d2737f367 Resolve python3 linting issue 2014-08-19 14:11:26 +01:00
Tom Christie
d2795dd26d Resolve linting issues 2014-08-19 13:54:52 +01:00
Tom Christie
bf09c32de8 Code linting and added runtests.py 2014-08-19 13:28:07 +01:00
Xavier Ordoquy
c9535c036b Merged #1398 against 2.4 branch. 2014-08-19 11:12:36 +02:00
Tom Christie
e385a7b8eb Merge master 2014-08-19 10:11:10 +01:00
Paul Oswald
3e93c96ece replace unicode call with force_text 2014-08-19 10:09:48 +09:00
Tom Christie
97d8f037cc Only set .action attribute in override_method if it already existed on the view 2014-08-18 20:56:17 +01:00
Tom Christie
01986fc80e Merge pull request #1763 from fongandrew/patch-1
override_method should substitute action
2014-08-18 20:39:09 +01:00
Tom Christie
1d0c169e94 Merge pull request #1505 from ticosax/test.client.logout
reset stored credentials when call client.logout()
2014-08-18 20:37:25 +01:00
Tom Christie
c092b4df78 Merge pull request #1641 from javins/login-title
Refactor login template to extend base.
2014-08-18 20:28:34 +01:00
Tom Christie
3b899c9d57 Merge pull request #1726 from ikame/master
Leave status responsibility to parent class
2014-08-18 19:59:23 +01:00
Tom Christie
2aad8e4b35 Merge pull request #1654 from carltongibson/1559-take-2
Allow use of native migrations in 1.7 — Take 2
2014-08-18 18:54:43 +01:00
Tom Christie
e85ef3b479 Merge pull request #1772 from tomchristie/fix-1583
Copy filter_backends class attribute before returning it.
2014-08-18 16:14:45 +01:00
Tom Christie
9f3c7e8930 Copy filter_backends class attribute before returning it. 2014-08-18 15:34:23 +01:00
Tom Christie
33af92e019 Always uppercase X-Http-Method-Override methods. Closes #1718. 2014-08-18 15:14:30 +01:00
Tom Christie
8244c7cc33 Merge pull request #1711 from kdazzle/ModelViewSet-queryset-static-property
Issue #1707: Add documentation to api-docs.viewsets
2014-08-18 12:25:03 +01:00
Tom Christie
0e918055c7 Merge pull request #1739 from kevinlondon/patch-3
Updated documentation for urls.py
2014-08-18 12:15:32 +01:00
Andrew Fong
21cbf3484e Fixed action_map being pulled from wrong object 2014-08-16 23:22:18 +00:00
Andrew Fong
5f63d31b00 override_method should substitute action
A view's action is dependent on the request method. When overriding the method (e.g. to generate a form for a POST request on a GET call to the browseable API), the action should be updated as well. Otherwise, viewset functions may be in a weird limbo state where a 'list' action has a POST method.
2014-08-16 15:05:46 -07:00
Aymeric Derbois
a6901ea36d Add test for SerializerMethodField 2014-08-16 15:53:00 +02:00
John Whitlock
34c1da3515 ModelSerializer.restore_object - errors as list
When a ValueError is raised in ModelSerializer.restore_object, the error
is set to a one-element list, rather than a bare string.
2014-08-13 15:31:25 -05:00
Tom Christie
09c53bbac9 Refactor JSONRenderer slightly for easier overriding 2014-08-11 16:20:27 +01:00
Kevin London
aac864a55f Updated documentation for urls.py
I made a small change in the order of the documentation for urls.py. I feel it helps make it clear which lines you should add to the root settings.
2014-08-07 11:02:48 -07:00
Paul Oswald
192201d584 remove dep on python_2_unicode_compatible
python_2_unicode_compatible is not available in all Django versions
2014-08-07 15:48:29 +09:00
Kevin London
617745eca0 Update description of OrderingFilter
I added a brief description of how you could specify a different query parameter for the OrderingFilter.
2014-08-06 16:26:56 -07:00
Jason Alan Palmer
2d6469348d Remove duplicate class attributes
These duplicate attributes are ignored by at least Firefox and Chrome, so this change has no effect on the style
2014-08-05 10:25:48 -04:00
Anler Hp
ebcc78d96c Leave status responsibility to parent class
Django's `HttpResponse` class checks for the `status` param when it's
initialized, if it's `None` it uses the class attribute
`status_code` and thanks to that we can do things like:

```
class BadRequest(HttpResponse):
    status_code = 400
```

Now, that doesn't work when inheriting from rest-framework's `Response`:

```
class BadRequest(rest_framework.response.Response):
    status_code = 400  # Bad, it's always ignored
```

Because a default status of `200` is being specified in
`rest_framework.response.Response`. I think is more Django-friendly to
just leave that status default value to `None` and leave the
responsibility of choosing its value to the parent class: `HttpResponse`.
2014-08-01 10:20:10 +02:00
Paul Oswald
66fa40c300 evaluate content at function start 2014-07-29 22:13:11 +09:00
Xavier Ordoquy
5e02f015b8 Better fix for the Django 1.3 compat 2014-07-29 10:30:08 +02:00
Xavier Ordoquy
59d0a0387d Fixed the Django 1.3 compat 2014-07-29 10:20:10 +02:00
Xavier Ordoquy
4210fedd21 Fixed the cache issue with Django 1.7 rc* 2014-07-29 08:35:00 +02:00
Kyle
e40ffd60d4 Issue #1707 - Add documentation about the caching of GenericAPIView.queryset
to the `queryset` property, `get_queryset()`, and do generic-views.md; remove
changes to the viewsets.md documentation from my last commit.
2014-07-28 10:11:40 -07:00
Paul Oswald
921e4ed2ee Evaluate content before passing to regex.sub
Issue #1708
2014-07-28 16:59:55 +09:00
Xavier Ordoquy
c7a988eb38 Merge remote-tracking branch 'reference/master' 2014-07-28 07:53:04 +02:00
Xavier Ordoquy
fe048dc4fb Fix #1712 (issue when django-guardian is installed but not configured/used) 2014-07-28 07:37:30 +02:00
Xavier Ordoquy
4876bec9f5 Merge remote-tracking branch 'origin/master' into 2.4.0
Conflicts:
	rest_framework/fields.py
2014-07-26 00:06:56 +02:00
Ron Cohen
e3aff6a567 Updated test docstring related to missing bearer token. 2014-07-25 13:38:42 +00:00
Ron Cohen
05882cc599 Sending "Bearer" and "Bearer " resulted in a 500. 2014-07-25 10:55:53 +00:00
Serhiy Voyt
3326ddc865 Merge branch 'master' into modelserialization-charfield-with-null 2014-06-27 18:10:50 +03:00
Carlton Gibson
d98245ac22 Merge branch '2.4.0' of github.com:tomchristie/django-rest-framework into #1559
Conflicts:
	docs/topics/release-notes.md
2014-06-24 10:30:08 +02:00
Carlton Gibson
3f727ce738 Added (first pass) notes to docs & release notes. Backed out SOUTH_MIGRATION_MODULES setting from rest_framework.settings 2014-06-24 09:02:44 +02:00
Carlton Gibson
f34011f801 Allow use of native migrations in 1.7 2014-06-23 14:52:18 +02:00
Xavier Ordoquy
2489e38a06 Merge remote-tracking branch 'origin/master' into 2.4.0
Conflicts:
	.travis.yml
	docs/api-guide/viewsets.md
	rest_framework/serializers.py
	rest_framework/throttling.py
	tests/test_generics.py
	tests/test_serializers.py
	tox.ini
2014-06-23 14:02:45 +02:00
TankorSmash
544183f64f typo in the docs 2014-06-16 19:13:02 -04:00
Walt Javins
b4c7717cb8 Refactor login template to extend base.
While experimenting with extending DRF, I found that the login page
1) had no title, and 2) duplicated <head> info from base.html.

This change adds a new {% block body %} to the base.html template
which allows override of the entire html <body>. login_base.html
has its duplicated head info stripped, and now extends base.html
to share common html <head> templating.

As part of this change, pretify.css is unnecessarily added to
login_base.html.  If this is deemed a problem, it will be easy to
block that css out, and have login_base.html override the block.

Ideally, I would have liked to create a new api_base.html that extends
base.html, move the api specific logic into that template, and leave
base.html content agnostic, to truely be a unifying base for all DRF
pages.  But this change would break current apps that override
api.html and expect base.html to be the immediate super template. :/

This change is benificial because it:
 - removes duplication of header declarations (mostly css includes)
 - adds a html title to the login page
 - standardizes html header info across all DRF pages

Docs are updated to reflect the new structure.
2014-06-13 22:26:00 -07:00
Tom Christie
1386767013 Version 2.3.14 2014-06-12 11:47:26 +01:00
Xavier Ordoquy
e8ec81f5e9 Fixed #1624 (thanks @abraithwaite) 2014-06-08 09:03:21 +02:00
khamaileon
08c4594145 Replace ChoiceField type_label 2014-06-05 12:49:02 +02:00
Danilo Bargen
6cb6bfae1b Always use specified content type in APIRequestFactory
If `content_type` is specified in the `APIRequestFactory`, always
include it in the request, even if data is empty.
2014-05-30 17:53:26 +02:00
khamaileon
eab5933070 Add the allow_add_remove parameter to the get_serializer method 2014-05-26 18:43:50 +02:00
Piper Merriam
807f7a6bb9 Fix _resolve_model to work with unicode strings 2014-05-22 15:18:51 -06:00
John Spray
04c820b8e5 fields: allow help_text on SerializerMethodField
...by passing through any extra *args and **kwargs
to the parent constructor.

Previously one couldn't assign help_text to a
SerializerMethodField during construction.
2014-05-22 15:24:35 +01:00
Tom Christie
218b94e606 Merge pull request #1536 from Ian-Foote/choicefield_blank_display_value
Allow customising ChoiceField blank display value
2014-05-20 16:03:51 +01:00
allenhu
a1a3ad7639 fix pep8 2014-05-19 09:53:05 +08:00
Xavier Ordoquy
5c12b07681 Added missing import. 2014-05-16 19:40:02 +02:00
Xavier Ordoquy
a704d5a206 Fixed tests for python 3.4 2014-05-16 01:20:40 +02:00
Carlton Gibson
d69d975015 Merge pull request #1564 from alumni/master
Fixes #1535 (HTML widget missing `id` attribute)
2014-05-09 10:36:06 +02:00
Carlton Gibson
0ff474d7c4 Updated failing test from #1575 2014-05-08 11:20:03 +02:00
Carlton Gibson
591d5240da Merge pull request #1575 from ewdicus/iso8601
Add colon to time zone offset in readable_datetime_formats
2014-05-08 09:34:06 +02:00
Elliott
11115fde9c Add colon to time zone offset in readable_datetime_formats 2014-05-07 11:37:20 -07:00
Serhiy Voyt
4e6a21344f Fixed test. 2014-05-07 18:42:02 +03:00
Serhiy Voyt
27be31bd8a In case of None value returns empty string instead of NoneType. 2014-05-07 18:37:08 +03:00
Serhiy Voyt
1ce1f387b0 Charfied from_native method returns default instead of None. Updated tests. 2014-05-06 21:57:25 +03:00
Serhiy Voyt
98cc821099 Extended test with case of saveing model with blank not null field. 2014-05-06 20:34:30 +03:00
Lucian Mocanu
708c7b3a81 Added test case to check if the proper attributes are set on html widgets. 2014-05-06 14:17:51 +02:00
Carlton Gibson
8e78a38de5 Merge pull request #1485 from Atrasoftware/master
Use help_text, verbose_name, editable attributes for related fields
2014-05-06 13:43:15 +02:00
Lucian Mocanu
4e33ff05d9 Automatically set the field name as value for the HTML id attribute on the rendered widget. 2014-05-04 00:12:08 +02:00
Charlie Denton
ccf3c508bd Fix missing message in ValidationError 2014-05-02 21:58:49 +01:00
Charlie Denton
c15dab903d Mark strings in AuthTokenSerializer as translatable 2014-05-01 10:18:16 +01:00
Xavier Ordoquy
7b4463f739 Merge remote-tracking branch 'reference/2.4.0' into feature/pytest
Conflicts:
	rest_framework/runtests/urls.py
	tests/test_response.py
	tox.ini
2014-05-01 08:01:38 +02:00
Xavier Ordoquy
c9e6f31166 Fixed new default for many 2014-05-01 01:27:51 +02:00
Xavier Ordoquy
38362bb43a Fixed new default for many 2014-05-01 01:24:48 +02:00
Xavier Ordoquy
7475fceacc Added missing field for the tests. 2014-05-01 00:54:20 +02:00
Xavier Ordoquy
cd93cd195e Use url functions from Django itself. 2014-04-30 22:32:29 +02:00
Xavier Ordoquy
2aca69a946 Merge remote-tracking branch 'reference/master' into feature/pytest
Conflicts:
	tests/test_serializer.py
2014-04-30 22:24:01 +02:00
Xavier Ordoquy
56b4390316 Merge remote-tracking branch 'origin/master' into 2.4.0
Conflicts:
	.travis.yml
	rest_framework/serializers.py
	rest_framework/tests/test_authentication.py
2014-04-30 22:21:26 +02:00
Xavier Ordoquy
5333a93126 Merge pull request #1409 from tuky/patch-1
remove spaces from META['HTTP_X_FORWARDED_FOR'] as throttle key
2014-04-30 21:38:21 +02:00
Emanuele Pucciarelli
295a4ab62d Added help_text to expected response in test 2014-04-29 22:16:11 +02:00
Emanuele Pucciarelli
fc44cd8d6a Sync test result w/ new label 2014-04-29 21:45:57 +02:00
Emanuele Pucciarelli
f54399ea77 Merge remote-tracking branch 'upstream/master'
Conflicts:
	rest_framework/tests/models.py
2014-04-29 21:41:53 +02:00
Tom Christie
1085b64fec Merge pull request #1543 from sinitsynsv/master
Add help_text and verbose_name attribute mapping for related field
2014-04-28 20:23:12 +01:00
Max Peterson
73597a16a2 Better Python < 3 compatibility. 2014-04-28 13:13:51 +01:00
Max Peterson
170fa10ae0 Python < 3 compatibility. 2014-04-28 13:10:34 +01:00
Max Peterson
1c777ffe8b Ensure Token.generate_key returns a string. 2014-04-28 12:35:55 +01:00
Kamil Niski
82094554e5 Minor typo 2014-04-27 02:54:47 +02:00
Sergey Sinitsyn
a6e525cf3a Add help_text and verbose_name attribute mapping for related field 2014-04-24 15:58:53 +06:00
Xavier Ordoquy
1797a74e82 Merge remote-tracking branch 'pelme/pytest' into feature/pytest
Conflicts:
	.travis.yml
	rest_framework/runtests/runtests.py
	tests/test_filters.py
	tests/test_pagination.py
	tox.ini
2014-04-17 09:53:44 +02:00
Ian Foote
6c108c459d Allow customising ChoiceField blank display value 2014-04-16 12:32:04 +01:00
Xavier Ordoquy
1d404874b3 Merge pull request #1527 from Ian-Foote/generic_foreign_key
Set GenericForeignKey fields on object before save
2014-04-16 11:27:06 +02:00
Carlton Gibson
03b4c60b2d Merge pull request #1518 from hroncok/patch-1
Add more TRAILING_PUNCTUATION to work with YAML
2014-04-15 15:59:25 +02:00
Miro Hrončok
ef1d652827 Introduce tests for urlize_quoted_links() function 2014-04-15 15:33:14 +02:00
Carlton Gibson
c93ddf1750 Merge pull request #1520 from hroncok/patch-2
Allow unicode YAML dump
2014-04-15 15:13:51 +02:00
Miro Hrončok
617c982591 Add test for UnicodeYAMLRenderer 2014-04-15 14:12:09 +02:00
Vladislav Vlastovskiy
3fe0383572 Fixed convert bytes to str
Use compact function for convert
2014-04-14 13:21:24 +04:00
Vladislav Vlastovskiy
d1f4dfca20 Removed decode from test filename 2014-04-14 13:04:18 +04:00
Vladislav Vlastovskiy
d474934d36 Fixed return type
From bytes to str
2014-04-14 13:01:24 +04:00
Vladislav Vlastovskiy
063addabfe Removed encode from test
Django does not produce such a decoding by default, this test was not honest.
2014-04-14 12:28:41 +04:00
Vladislav Vlastovskiy
4b3eb6e0b0 Fixed parse file name 2014-04-14 12:21:38 +04:00
Ian Foote
853c7a16c1 Use setattr for adding fields to a new instance
Add test for restoring a GenericForeignKey
2014-04-13 17:33:45 +01:00
Xavier Ordoquy
d08536ad9d Merge remote-tracking branch 'origin/master' into 2.4.0
Conflicts:
	.travis.yml
	docs/api-guide/fields.md
	docs/api-guide/routers.md
	docs/topics/release-notes.md
	rest_framework/authentication.py
	rest_framework/serializers.py
	rest_framework/templatetags/rest_framework.py
	rest_framework/tests/test_authentication.py
	rest_framework/tests/test_filters.py
	rest_framework/tests/test_hyperlinkedserializers.py
	rest_framework/tests/test_serializer.py
	rest_framework/tests/test_testing.py
	rest_framework/utils/encoders.py
	tox.ini
2014-04-13 00:05:57 +02:00
Ian Foote
0a0e4f22e7 Set GenericForeignKey fields on object before save
* A model with a required GenericForeignKey can be saved if the field is set
2014-04-12 17:51:02 +01:00
Ian Leith
613df5c650 Fix dict_keys equality test for python 3. 2014-04-11 05:49:49 +01:00
Miro Hrončok
7ae8409370 Allow unicode YAML dump with UnicodeYAMLRenderer
Fixes #1519
2014-04-10 01:47:30 +02:00
Miro Hrončok
a23059b6f7 Add more TRAILING_PUNCTUATION to work with YAML.
Fixes #1517
2014-04-09 23:35:41 +02:00
Carlton Gibson
a73498d797 Skip new test for Django < 1.6 2014-04-09 19:54:13 +02:00
Carlton Gibson
645ef9895f Merge branch 'refs/heads/master' into #1408 2014-04-09 15:52:26 +02:00
Carlton Gibson
c1ac65edce Adds test that blank option is added when required=False on RelatedFields 2014-04-09 15:51:00 +02:00
Mauro de Carvalho
2a1571b3bf Fixed comment. 2014-04-07 18:27:59 -03:00
Dmitry Mukhin
c3891b6e00 set Retry-After header when throttled 2014-04-07 20:31:12 +04:00
Nicolas Delaby
af8a362d6b reset stored credentials when call client.logout() 2014-04-07 14:59:27 +02:00
jacobg
6322feb32d add a __str__ implementation to APIException
Add a __str__ implementation to rest_framework.exceptions.APIException. This helps for logging raised exceptions. Thanks.
2014-04-04 10:22:02 -04:00
Xavier Ordoquy
591cf8a48c Content is a binary string. 2014-03-31 13:17:31 +02:00
Ravi Kotecha
3560796bbf add regression tests for field Validators
pep8 and add issue no

fix formatting for python 2.6 and strings for python 3.2
2014-03-31 12:10:00 +01:00
Xavier Ordoquy
73cd4e236f Merge pull request #1477 from vlastv/patch-1
Writable star source with instance
2014-03-31 07:49:23 +02:00
Emanuele Pucciarelli
8904f179d1 Stray unicode string marker removed 2014-03-30 12:06:03 +02:00
Emanuele Pucciarelli
d8bf878792 Metadata for related fields -- added test case. 2014-03-30 11:48:17 +02:00
Emanuele Pucciarelli
ab5082d15c Do not check model_field's attributes if it is None 2014-03-28 19:42:46 +01:00
Emanuele Pucciarelli
04315c12af Use help_text, verbose_name, editable attributes for related fields 2014-03-24 19:25:28 +01:00
Daniel Kontsek
3b71be725a Fixed encoding parameter in QueryDict 2014-03-22 10:32:59 +01:00
Tom Christie
17f0871736 Merge pull request #1469 from entrouvert/master
authentication: allow all transport modes of access token in OAuth2Authentication
2014-03-21 12:23:49 +00:00
Vladislav Vlastovskiy
f5fc6937ec Change serializer name for removing confusion 2014-03-20 20:27:07 +04:00
Tom Christie
58cae22970 Merge pull request #1474 from elmehdikarami/master
Update serializers.py
2014-03-20 16:08:10 +00:00
Vladislav Vlastovskiy
e8167f96e6 Fixed copy-paste 2014-03-20 08:53:41 +04:00
Vladislav Vlastovskiy
c3aa10e589 Moved get component from object after test source is star 2014-03-20 01:50:40 +04:00
Vladislav Vlastovskiy
19c03f4a60 Added test writable star source
Uses nested serializer with parent object
2014-03-20 01:49:30 +04:00
elmkarami
499d3cb8f0 Update serializers.py 2014-03-19 17:23:15 +00:00
elmkarami
03f96988ba Update serializers.py
Prevent iterating over a string that is supposed to be an iterable <==> Prevent read_only_fields = ('some_string)
2014-03-19 17:11:44 +00:00
elmkarami
5c87db96c5 Update serializers.py
Prevent iterating over a string that is supposed to be an iterable <==> Prevent read_only_fields = ('some_string)
2014-03-19 15:41:25 +00:00
Benjamin Dauvergne
1909472aa2 authentication: allow all transport modes of access token in OAuth2Authentication
RFC6750 describe three transport modes for access tokens when accessing a
protected resource:
- Auhthorization header with the Bearer authentication type
- form-encoded body parameter
- URI query parameter

This patch add support for last two transport modes.
2014-03-19 12:43:45 +01:00
Xavier Ordoquy
0e677e9dd1 Reintroduced url arguments in the urls for the tests. 2014-03-07 16:11:51 +01:00
Tom Christie
3fa95132d8 Don't barf if PIL is not installed. 2014-03-07 14:16:14 +00:00
Tom Christie
35787fb3ca Merge pull request #1460 from inglesp/issue1434
Add SEARCH_PARAM and ORDERING_PARAM to settings
2014-03-07 07:36:37 +00:00
Peter Inglesby
29f5ce7aeb Use six to reload module 2014-03-06 23:51:02 +00:00
Carlton Gibson
d48e8ca8d6 Merge pull request #1459 from linovia/bugfix/optional_unique_validation
Unique constraint are validated even if the field is optional.
2014-03-06 22:48:16 +01:00
Peter Inglesby
2353878951 Add SEARCH_PARAM and ORDERING_PARAM to settings
Fixes #1434
2014-03-06 21:39:44 +00:00
Eric Buehl
34887ed756 it's safe to import scope and constants 2014-03-06 20:21:44 +00:00
Eric Buehl
86375f2d95 Merge remote-tracking branch 'upstream/master' 2014-03-06 20:21:27 +00:00
Xavier Ordoquy
51e6982397 Fixed the validation for optional fields that have a value. 2014-03-06 21:18:37 +01:00
Xavier Ordoquy
caf4d36cb3 More complex test case. 2014-03-06 21:17:41 +01:00
Xavier Ordoquy
de899824b8 Forgot to add the ref field to the field list. 2014-03-06 16:43:30 +01:00
Xavier Ordoquy
9e291879d1 Added an optional unique field to Album and checked that duplicates are detected. 2014-03-06 15:24:07 +01:00
Tom Christie
ef94861c2d It's 2014 now, dontchaknow 2014-03-06 09:25:18 +00:00
Tom Christie
c1148241ee Version 2.3.13 2014-03-06 09:01:05 +00:00
Eric Buehl
e0682e9298 don't implicitly import provider.oauth2 2014-03-05 17:15:52 +00:00
Rodolfo Carvalho
94fe03779b Fix typo 2014-03-05 17:01:54 +01:00
David Larlet
84e7bf6796 Update documentation of render methods (obj to data) 2014-03-04 17:21:07 +01:00
David Larlet
07cb436d61 Typo in keywords arguments name
Because it matters ;)
2014-03-04 16:32:34 +01:00
Tom Christie
4edd39b2e4 Merge pull request #1442 from Anton-Shutik/master
RelatedField default value handling fixed
2014-03-04 15:26:34 +00:00
Anton Shutik
dea2766aba Added tests for "get_default_value" function 2014-03-04 13:11:54 +03:00
Xavier Ordoquy
3d7cb72e0a Merge remote-tracking branch 'reference/master' into feature/django_1_7 2014-03-03 11:41:07 +01:00
Andreas Pelme
971578ca34 Support for running the test suite with py.test
* Get rid of runtests.py
 * Moved test code  from rest_framework/tests and rest_framework/runtests to tests
 * Invoke py.test from setup.py
 * Invoke py.test from Travis
 * Invoke py.test from tox
 * Changed setUpClass to be just plain setUp in test_permissions.py
 * Updated contribution guideline to show how to invoke py.test
2014-03-02 12:40:30 +01:00
hongfeiZhang
693d9d9c63 In the method permission_denied, did not use the request parameter. 2014-03-01 11:37:31 +08:00
Tom Christie
22f225175f Merge pull request #1437 from Keats/master
Display the media type of the API response on the browsable API
2014-02-28 11:55:45 +00:00
Anton Shutik
3c62f0efc3 RelatedField.get_default_value: return empty list if self.many==True 2014-02-28 13:59:21 +03:00
Tom Christie
c3c69f4304 Merge pull request #1441 from dustinfarris/null-serialization
TestCases and POST/PUT'ing serialized data that contains `None`
2014-02-28 09:27:27 +00:00
Val Neekman
818b4bf8b3 handle negative time value and prevent a divide by zero 2014-02-27 12:27:54 -08:00
Dustin Farris
f126856f65 Allow 'None' to pass as a null value in RelatedFields 2014-02-27 12:30:59 -05:00
Anton Shutik
1addd09e2b RelatedField default value handling fixed 2014-02-27 18:34:36 +03:00
Keats
6cd0394e20 Display the media type of the API response on the browsable API 2014-02-26 23:47:35 +00:00
Dustin Farris
505f1173d0 Demonstrate problem post/put'ing serialized data that contains 'None' 2014-02-26 12:08:26 -05:00
Tom Christie
d328f1827d Tweak comment wrapping. 2014-02-18 12:30:55 +00:00
Ian Foote
dca8b98356 Remove unnecessary else 2014-02-18 12:28:02 +00:00
Ian Foote
f22aeeb0a3 Refactor UpdateModelMixin.update
Reduce nesting, return early in error cases.
2014-02-18 12:08:12 +00:00
Xavier Ordoquy
b2f0f4fcf4 Merge remote-tracking branch 'reference/master' into feature/django_1_7 2014-02-18 11:42:35 +01:00
Xavier Ordoquy
5ae94547bc Moved the python_2_unicode_compatible into compat module. 2014-02-18 11:42:17 +01:00
tuky
5e4336845f Update throttling.py
python 3 u'' gone
2014-02-14 13:47:17 +01:00
Tom Christie
a06252f812 Merge pull request #1397 from amezhenin/issue_1386
update regex for matching URLs, fixes issue #1386
2014-02-13 16:27:19 +00:00
Artem Mezhenin
dbd993d108 wrapper for smart_urlquote, issue #1386 2014-02-13 20:14:47 +04:00
Artem Mezhenin
08ec23268d (I hope) tests are fixed, issue #1386 2014-02-13 19:39:53 +04:00
Artem Mezhenin
d00ea3bcac change regex back, issue #1386 2014-02-13 18:59:05 +04:00
tuky
d18d32669a remove spaces from META['HTTP_X_FORWARDED_FOR'] as throttle key
memcached cannot handle spaces in keys
2014-02-12 18:11:18 +01:00
Carlton Gibson
f1016441f5 Test and fix for #1210. World's lowest hanging fruit. 2014-02-11 19:52:32 +01:00
Carlton Gibson
95670933d7 Test and quick fix for #1257 2014-02-11 14:44:56 +01:00
Hassan Shamim
97b7c25987 Replace 'detail' with 'default_detail' in Exceptions guide and APIException class docstring. 2014-02-10 12:54:56 -06:00
Simon Charette
4d45865bd7 Allow filter model to be a subclass of the queryset one. 2014-02-09 00:50:03 -05:00
Artem Mezhenin
35f4908e48 issue #1386
* regex for matching URLs was rewritten
* added unittests
2014-02-09 02:46:25 +04:00
Artem Mezhenin
41eb313e1c update regex for matching URLs, fixes issue #1386 2014-02-09 01:01:05 +04:00
Matthew King
f8cda8adbd Generate random token directly 2014-02-04 22:50:11 -05:00
juroe
b182b9e246 Fixes typo (Implicit instead of Implict). 2014-02-04 11:56:41 +01:00
Tom Christie
8f921160e5 Merge pull request #1377 from Ian-Foote/force_bytes
Import force_bytes on django >= 1.5
2014-01-31 03:45:04 -08:00
Xavier Ordoquy
5a662dd60e Moving models back to test_serializer. 2014-01-31 11:20:53 +01:00
Ian Foote
0043f30cab Use bytes BOUNDARY on django < 1.5
Django's encode_multipart was updated in django 1.5 to work internally
with unicode and convert to bytes.

In django >= 1.5 we therefore need to pass the BOUNDARY as unicode. In
django < 1.5 we still need to pass it as bytes.
2014-01-31 09:12:45 +00:00
Tom Christie
18f26ff5cc Only add 'Vary: Accept' header when there is more than one possible renderer. 2014-01-30 17:47:55 +00:00
Tom Christie
9f0ead9597 Remove TODO note, since it hasn't been TODONE. 2014-01-30 17:32:05 +00:00
Xavier Ordoquy
73e5b7e4b2 Fixed the object representation in order to pass the tests. 2014-01-30 14:27:46 +01:00
Xavier Ordoquy
c2ee52239d Refactoring due to the previous commit. 2014-01-30 14:27:09 +01:00
Xavier Ordoquy
1319da59ce Make factory.get work with Django 1.7 2014-01-30 14:26:21 +01:00
Xavier Ordoquy
c6d89afdf7 Define the upload_to for file fields. 2014-01-28 23:43:09 +01:00
Xavier Ordoquy
e4c25e0ff2 wsgi_request is now added to the response so we have to remove it before pickling the response. 2014-01-28 18:57:36 +01:00
Xavier Ordoquy
656117814c Django 1.7 has new 404 and 403 body messages. 2014-01-28 18:55:29 +01:00
Xavier Ordoquy
23a20160c4 Mock updated as Django’s get_template now has two arguments. 2014-01-28 18:54:49 +01:00
Xavier Ordoquy
da89cfc937 Don’t rely on Django’s get as it breaks for 1.7 2014-01-28 18:53:58 +01:00
Xavier Ordoquy
6aadd1639b Moved all the reused models to the models files to avoid conflicts with the refactored apps. 2014-01-28 18:53:24 +01:00
Ian Foote
78e4468f03 Add file upload test for APIRequestFactory
Remove test_compat
2014-01-28 15:54:50 +00:00
Ian Foote
74fec7eeb4 Import force_bytes on django >= 1.5 2014-01-28 14:30:46 +00:00
Xavier Ordoquy
7713ddc0a8 Don’t forget to setup django for 1.7+ as it’s not a regular django command. 2014-01-28 13:20:51 +01:00
Rodolfo Henrique Carvalho
c436725dd6 Fix typo in docstring for post_delete hook. 2014-01-25 23:58:42 +01:00
Tom Christie
47f5bd488d Merge pull request #1361 from ross/x_method_override
always obey X-HTTP-METHOD-OVERRIDE header
2014-01-17 08:19:06 -08:00
Ross McFarland
58d77c11c3 always obey X-HTTP-METHOD-OVERRIDE header
required to support old flash/flex clients that need to do everything as
GET requests (apparently to allow for any error handlings)
2014-01-17 08:14:05 -08:00
Mathieu Pillard
f034cb595a Encode django QuerySets to lists and not dicts in JSONEncoder 2014-01-17 13:05:10 +01:00
Tom Christie
71c03b9db9 Security update to OrderingFilter 2014-01-15 14:27:41 +00:00
Tom Christie
e9fda70b4a Nicer write_only fields implementation. Closes #1355 2014-01-15 08:53:23 +00:00
Tom Christie
8f6983ee6e Merge branch 'master' of git://github.com/sprymak/django-rest-framework into sprymak-master 2014-01-14 20:35:26 +00:00
Tom Christie
dde3b1dfcb Use api_settings.URL_FIELD_NAME 2014-01-14 20:35:09 +00:00
S.Prymak
ed8143b2b0 Test for customizable HyperlinkedModelSerializer url field name 2014-01-14 13:58:17 +02:00
Tom Christie
97f8ede4d1 Version 2.3.11 2014-01-14 11:26:10 +00:00
Tom Christie
85d74fc86a Added write_only and write_only_fields. Refs #1306 2014-01-14 11:25:44 +00:00
S.Prymak
e9b0d70f5d Override HyperlinkedModelSerializerOptions url field name with URL_FIELD_NAME setting 2014-01-14 10:38:49 +02:00
Tom Christie
bc6c5df109 Minor tweaks 2014-01-13 17:39:22 +00:00
Tom Christie
e91d0a69ab Merge branch 'testing-nested-serializers' of git://github.com/dustinfarris/django-rest-framework into dustinfarris-testing-nested-serializers 2014-01-13 17:38:03 +00:00
Tom Christie
d937ce331c Minor cleanup 2014-01-13 17:37:08 +00:00
Dustin Farris
c4d77667cf Move ImportingModelSerializerTests and add comments. 2014-01-13 12:03:13 -05:00
Tom Christie
73d8a2bcbd Merge branch 'master' of git://github.com/cguethle/django-rest-framework into cguethle-master 2014-01-13 16:52:19 +00:00
Dustin Farris
b1b58762a3 Move models.resolve_model to serializers._resolve_model 2014-01-13 11:47:44 -05:00
Tom Christie
2911cd64ad Minor tweaks to 'lookup_value_regex' work 2014-01-13 15:37:52 +00:00
Tom Christie
4ab97843e8 Merge pull request #1333 from bodylabs/2.4.0+lookup_regex
Let viewsets specify their regex
2014-01-13 07:34:58 -08:00
S.Prymak
65858428fd Make HyperlinkedModelSerializer url field name customizable 2014-01-13 16:35:20 +02:00
Dustin Farris
2332382b51 Add a sanity check to avoid running into unresolved related models. 2014-01-12 20:28:19 -05:00
Yuri Prezument
cd9a4194ea Check the modelfield's class instead 2014-01-12 16:32:36 +02:00
Yuri Prezument
0fd0454a5c Test for setting allow_none=True for nullable CharFields 2014-01-12 10:53:54 +02:00
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