Commit Graph

3442 Commits

Author SHA1 Message Date
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
Craig de Stigter
4a134eefa2 Fix expansion of writable nested serializers where the inner fields have source set. 2013-12-16 15:55:54 +13:00
Tom Christie
a87c55a93a Compat fixes for django-oauth-plus versions 2.0-2.2.1 2013-12-13 21:57:07 +00:00
Tom Christie
fac6d1a36e Merge branch 'master' of git://github.com/philipforget/django-rest-framework into philipforget-master 2013-12-13 20:40:11 +00:00
Tom Christie
193af483ef Add notes on lookup_prefix argument and why it's there even though unused by the default implementations. 2013-12-13 20:22:56 +00:00
Tom Christie
fbaba0a309 Merge pull request #1281 from alanjds/router-prefix-patch
'lookup_prefix' on SimpleRouter.get_lookup_regex, easing code de-duplication
2013-12-13 12:19:49 -08:00
Kevin Brown
90edcbf938 Fix default values always being False for browsable API
This fixes a bug that was introduced in 28ff6fb [1] for the
browsable API, specifically with how it handled default values
for boolean fields.  Previously, it had a global default for
boolean fields set to `False`, which was different than the
standard None that was used elsewhere.  Because this only needed
to be done for the browsable API, a fix was put into place that
only set the default to `False` when form data was passed into
the serializer.  This had the unintended side effect of overriding
any default set on the boolean field.

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

[1]: 28ff6fb1ec
[2]: https://github.com/tomchristie/django-rest-framework/issues/1101
2013-12-13 13:20:29 -05:00
Tom Christie
9c41c007af Merge branch 'master' into 2.4.0
Conflicts:
	.travis.yml
	docs/api-guide/routers.md
	docs/topics/release-notes.md
	rest_framework/compat.py
2013-12-13 16:32:34 +00:00
Tom Christie
0453cbd56b Clean up implementation 2013-12-13 11:09:54 +00:00
Tom Christie
a129bdd0f0 Merge pull request #1234 from linovia/bugfix/nested_models_without_related_name
Fixed the nested model serializers in case of the related_name isn’t set...
2013-12-13 03:06:14 -08:00
Tom Christie
83da4949c0 Allow NUM_PROXIES=0 and include more docs 2013-12-13 00:02:18 +00:00
Alan Justino
d3a118c728 SimpleRouter.get_lookup_regex got lookup_prefix
This allows @alanjds/drf-nested-routers to not duplicate/monkeypatch work made here
2013-12-10 17:14:17 -02:00
Tom Christie
3a1c40f814 Refine model manager behavior so as not to use the behavior in incorrect cases. Closes #1205 2013-12-10 08:46:44 +00:00
Tom Christie
ddd17c69e7 Fix compat issues for #1231 2013-12-09 09:24:10 +00:00
Tom Christie
a6ca943faa Merge branch 'issue-1231-jsonencoder' of git://github.com/mbox/django-rest-framework into mbox-issue-1231-jsonencoder 2013-12-09 08:50:31 +00:00
Tom Christie
80ef2685e5 Merge master 2013-12-09 07:45:45 +00:00
Tom Christie
4e9385e709 Drop unneeded assert 2013-12-09 07:37:13 +00:00
Tom Christie
06d8a31e13 Catch and mask ParseErrors that occur during rendering of the BrowsableAPI. 2013-12-09 07:34:08 +00:00
kahnjw
23db6c9849 PEP8 Compliance 2013-12-06 14:52:39 -08:00
kahnjw
89f26c5e04 Add get_ident method to pass new tests. 2013-12-06 14:21:52 -08:00
kahnjw
9ab0759e38 Add tests to pass for get_ident method in BaseThrottle class. 2013-12-06 14:21:33 -08:00
Tom Christie
910de38a9c Version 2.3.10 2013-12-06 22:13:50 +00:00
Chuck Harmston
cf6c11bd4b Raise appropriate error in serializer when making a partial update to set a required RelatedField to null (issue #1158) 2013-12-06 14:00:23 -06:00
Tom Christie
1f8069c0a9 Boilerplate cuteness 2013-12-05 11:05:25 +00:00
Tom Christie
38d78b21c0 Remove Content-Type header from empty responses. Fixes #1196 2013-12-03 16:55:11 +00:00
Tom Christie
774298f145 First pass at a test for ParseErrors breaking the browsable API 2013-12-03 16:18:35 +00:00
Tom Christie
344cd865ab Merge pull request #1250 from Ian-Foote/choice_field
Add choices to options metadata for ChoiceField.
2013-12-03 08:03:02 -08:00
Tom Christie
c1d9a96df0 Catch errors during parsing and set empty .DATA/.FILES before re-raising. 2013-12-03 08:58:05 +00:00
Pablo Recio
699ec7236b Adds pre_delete and post_delete hooks on 2013-12-03 00:07:41 +00:00
Omer Katz
b8f8fb7779 Updated the assertion message of the ImageField. 2013-11-27 13:26:49 +02:00
Ian Foote
8d09f56061 Add unittests for ChoiceField metadata.
Rename 'name' to 'display_name'.
2013-11-27 11:06:42 +00:00
Ian Foote
2484fc9141 Add more context to the ChoiceField metadata. 2013-11-26 17:10:16 +00:00
Ian Foote
a38d9d5b24 Add choices to options metadata for ChoiceField. 2013-11-26 09:33:47 +00:00
Malcolm Box
6af31ed394 Remove u from literals 2013-11-22 10:59:48 +00:00
Malcolm Box
263281d71d Fix issue #1231: JSONEncoder doesn't handle dict-like objects
Check for __getitem__ and then attempt to convert to a dict.
The check for __getitem__ is there as there's no universal way to
check if an object is a mapping type, but this is a likely proxy
2013-11-21 20:09:48 +00:00
Tom Christie
43c4e3aab8 Merge pull request #1229 from jgomezb/patch-2
Update urlpatterns.py
2013-11-21 01:43:07 -08:00
Krzysztof Jurewicz
9cea6880f7 Added handling of validation errors in PUT-as-create.
Fixes #1035.
2013-11-19 15:49:31 +01:00
Xavier Ordoquy
88f5921f2f Removed the DynamicSerializerView duplication 2013-11-18 20:15:35 +01:00
Xavier Ordoquy
a8b15f4290 Another fix for nested writable serializers in case of the related_name isn’t set on the ForeignKey. 2013-11-18 15:11:29 +01:00
Xavier Ordoquy
ad7aa8fe48 Fixed the nested model serializers in case of the related_name isn’t set. 2013-11-17 01:27:16 +01:00
Philip Forget
b86765d9c0 add auth param to request client calls 2013-11-15 12:25:32 -05:00
Tom Christie
7a0e2ed6f6 Version 2.3.9 2013-11-15 13:55:36 +00:00
Philip Forget
5239362951 pass oauth_timestamp to oauth_provider 2013-11-14 18:02:07 -05:00
jgomezb
6be62bc1d7 Update urlpatterns.py
Allow numbers in format extension.
2013-11-14 09:22:07 +01:00
Alex
e29942948f Undo version bump 2013-11-13 12:06:59 +00:00
Alex
f4e610248b Bump version 2013-11-12 23:46:01 +00:00
Alex
5136798a04 Merge branch 'master' into allow-aggregate-ordering 2013-11-12 23:40:24 +00:00
Alex
d1dc68d755 Add queryset aggregates to allowed fields in OrderingFilter 2013-11-12 23:40:07 +00:00
Doğan Çeçen
fd2c291c4d Typo on api-guide/fields.md and serializers.py 2013-11-11 11:54:30 +02:00
Tom Christie
470134ae9b Merge pull request #1217 from benpbenp/master
Fix object creation with reverse M2M when related_name unspecified
2013-11-08 07:15:40 -08:00
Ben Pietravalle
b7b57adee2 Fix object creation with reverse M2M when related_name unspecified
It seems that field.related_query_name() does not return the related_name
for reverse M2M relations when related_name is not explicitly set in the M2M field
definition.

So, change to use obj.get_accessor_name(), where obj is an instance of
RelatedObject, as are returned by a model's
_meta.get_all_related_many_to_many_objects(), or as in the tuples returned by
_meta.get_all_m2m_objects_with_model().
2013-11-08 13:19:40 +00:00
Xavier Ordoquy
d4a50429b0 Fixed a regression with ValidationError under Django 1.6 2013-11-08 13:12:40 +01:00
Mathieu Pillard
5829eb7a5b Drop u'' prefix for python 3.x compatibility 2013-11-06 12:51:40 +01:00
Mathieu Pillard
5325890821 Improve handling of 'empty' values for ChoiceField
The empty value defaults back to '' (for backwards-compatibility) but
is changed automatically to None for ModelSerializers if the `null`
property is set on the db field.
2013-11-05 17:21:18 +01:00
Rob Hudson
e33435d0da Fixed exception handling with YAML and XML parsers. 2013-10-31 15:03:50 -07:00
S. Andrew Sheppard
458af921f3 minor typo 2013-10-29 15:10:06 -05:00
Jakub Roztočil
be55a3c5c7 Removed commented-out credits from footer to make django-debug-toolbar work.
The comment, although valid, caused that the Django debug toolbar's injected HTML was partially commented-out and thus the toolbar didn't work as expected.
2013-10-24 17:53:02 +02:00
Chris Guethle
7a87893b96 reworked APIException, pushing some of the status_code and detail management up. Also, makes the APIException useful in isolation (defaults to status code 500) 2013-10-24 09:40:43 -05:00
Yamila Moreno
82e9ddcf7a Added get_filter_backends method 2013-10-24 16:16:01 +02:00
Tom Christie
0fc9d5fed9 Merge pull request #1198 from alexanderlukanin13/form-post-unicode
Fixed UnicodeEncodeError when POST JSON via web interface; added test
2013-10-24 05:45:55 -07:00
Tom Christie
6302307885 Update comment in get_parser_context. 2013-10-24 13:45:16 +01:00
alexanderlukanin13
6b3500b684 Fixed UnicodeEncodeError when POST JSON via web interface; added test 2013-10-24 17:52:52 +06:00
Tom Christie
f2648fefff Merge pull request #1187 from ross/paginator_def_val
paginator should validate page and provide default
2013-10-22 02:19:36 -07:00
Ross McFarland
c36122a7ba remove stray func from test 2013-10-21 14:26:21 -07:00
Ross McFarland
f0a129dcda retract the default page stuff.
better way comming in a seperate pr
2013-10-21 14:23:06 -07:00
Tom Christie
216ac8a5c1 Use lookup_url_kwarg in presave if required 2013-10-21 17:19:28 +01:00
Tom Christie
76672787cd Added . Closes #1188. 2013-10-21 09:47:07 +01:00
Ross McFarland
63e6a3b492 paginator should validate page and provide default
- use the standard paginator.validate_number method rather
  strict_postive_int.
- support optional paginator method, default_page_number, to get the default
  page number rather than hard-coding it to 1
- this allows supporting non-integer based pagination which can be an
  important performance tweak on extermely large datasets or high request
  loads
- relatively thorough unit tests of the changes
2013-10-19 21:11:27 -07:00
dpetzel
17a00be830 This fix results in models.NullBooleanField rendering as a checkbox in the browsable API 2013-10-18 21:13:20 -04:00
dpetzel
735c75abb9 add test case around ensuring proper field inference for boolean model field types 2013-10-18 21:10:49 -04:00
Tom Christie
2394f05e5a Merge pull request #1170 from craigds/write-into-foreignkey-with-source
fix writing into foreign key with non-null source
2013-10-17 07:59:29 -07:00
Tom Christie
6a40202a64 Merge pull request #1112 from tamakisquare/issue-1111
Test case and fix for issue 1111
2013-10-17 07:31:15 -07:00
Tom Christie
8c60471766 Merge pull request #1172 from brutasse/fix/return-object
Return object in save_object
2013-10-17 07:19:38 -07:00
Bruno Renié
cc3c16eaa0 Fix a docstring to reflect what the method does 2013-10-17 16:08:17 +02:00
badaud_t
b730aec0f4 Fix decimal support with YAMLRenderer 2013-10-17 01:08:24 +02:00
badaud_t
8a5fea06f0 Fix typo YAMLRendererTests 2013-10-17 01:07:50 +02:00
Omer Katz
d31fd33f4b Allow to customize description so that markup can be accepted if needed. 2013-10-16 09:15:02 -04:00
Colin Huang
c6be12f02b [Fix]: Error with partial=True and validate_<name>
The error occurs when serializer is set with partial=True and a
field-level validation is defined on a field, for which there's no
corresponding update value in .data
2013-10-15 17:05:10 -07:00
Craig de Stigter
86ea969e11 fix ticket link in test docstring 2013-10-11 15:50:07 +13:00
Craig de Stigter
7c3769f04b fix writing into foreign key with non-null source 2013-10-11 15:31:55 +13:00
Tom Christie
f18158358d Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2013-10-10 17:34:15 +01:00
Tom Christie
c3e370b168 Merge branch 'html-form-rendering' 2013-10-10 17:33:39 +01:00
Tom Christie
9e29c63895 Ensure read-only fields don't break with current HTML renderer behavior 2013-10-10 17:33:22 +01:00
Carlton Gibson
0bbc775b95 Merge pull request #1071 from craigds/field-transform-methods
Feature: add transform_<fieldname> methods to serializers
2013-10-09 01:11:46 -07:00
Henry Clifford
3e94f4dc70 support args on get_object_or_404 2013-10-04 10:49:56 -04:00
Philip Douglas
a2ae469f6b Merge remote-tracking branch 'upstream/master' 2013-10-03 11:12:55 +01:00
Craig de Stigter
dc650f77b5 add tests for transform_fieldname methods 2013-10-03 11:34:42 +13:00
Tom Christie
8d4ba478cc Fix rendering of forms and add error rendering on HTML form 2013-10-02 16:13:34 +01:00
Tom Christie
a14f1e8864 Serializers can now be rendered directly to HTML 2013-10-02 13:45:35 +01:00
Tom Christie
1fd83adb9c Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2013-09-26 16:09:31 +01:00
Tom Christie
75d6446c87 Allow .template_name attribute specified on view. Closes #1000 2013-09-26 16:09:08 +01:00
Tom Christie
1bd8fe4152 Whitespace fix 2013-09-25 10:36:08 +01:00
Tom Christie
e441f85109 Drop 1.3 support 2013-09-25 10:30:04 +01:00
Tom Christie
21cd638659 Merge master 2013-09-25 09:44:26 +01:00
Markus Kaiserswerth
abbe9213f9 Address pending deprecation of Model._meta.module_name in Django 1.6 2013-09-23 17:48:25 +02:00
Carlton Gibson
b82c44af48 Correct typo in doc string. 2013-09-20 14:20:21 +02:00
Carlton Gibson
f07a4f4ca3 Clear cached serializer data on save() + test. Fixes #1116. 2013-09-20 14:10:46 +02:00
Colin Huang
b74c5235c5 [Add]: CustomValidationTests.test_partial_update
This test is to make sure that validate_<attrname> is not called when
partial=True and <attrname> is not found in .data.
2013-09-15 22:22:52 -07:00
Tom Christie
36bd4f22a7 Merge pull request #1107 from dpretty/master
Let JSONEncoder handle Numpy data types.
2013-09-13 11:42:15 -07:00
Tai Lee
a9dbd46c94 Refs #1109 -- Update docs. Integrate changes from feedback. 2013-09-14 00:54:44 +10:00
Tai Lee
bb3261ca48 Fixed #1105 -- Add hook for custom context in BrowsableAPIRenderer.
Replace hard coded response status check with `allow_form` context
variable, so that it can be overridden in a custom renderer class.
2013-09-13 23:11:44 +10:00
Rajiv Bose
0de1a1a0ad Typo in strings referring to Python package, django-filter.
On skip of django_filters related unit-tests the reason given states the Python package 'django-filters' is not install.

However, the Python package required to run django_filters related tests is 'django-filter'.
2013-09-13 11:55:16 +01:00
Philip Douglas
e5da0ff5e5 Merge remote-tracking branch 'upstream/master' 2013-09-13 10:47:06 +01:00
Philip Douglas
272a6abf91 Try a more localised fix to the data=None problem 2013-09-13 10:46:24 +01:00
David Pretty
d489c5c881 Let JSONEncoder handle Numpy data types.
json.JSONEncoder cannot serialize Numpy data types. Numpy arrays
and array scalars have a tolist() method which casts the object to
a standard python data type.
2013-09-13 13:36:18 +10:00
Tom Christie
cd3040737e Merge pull request #1097 from mociepka/add_default_order_by_in_filtering
Add order_by to the AutoFilterSet
2013-09-12 13:24:26 -07:00
Philip Douglas
6e4bdb5596 Add missing newline at the end of test file 2013-09-12 16:04:33 +01:00
Philip Douglas
59cce01b33 Fix error when serializer gets files but no data 2013-09-12 16:03:20 +01:00
Tom Christie
195790e60b Version 2.3.8 2013-09-11 09:09:30 +01:00
Tom Christie
5970baa201 Tweaks and docs to object-level model permissions. 2013-09-10 21:00:13 +01:00
Tom Christie
75fb4b02b4 Merge branch 'master' of git://github.com/bwreilly/django-rest-framework into bwreilly-master 2013-09-10 20:21:15 +01:00
Michał Ociepka
222c1d1122 Add order_by to the AutoFilterSet
`AutoFilterSet` should contains `order_by` set to all by default.
2013-09-10 12:02:14 +02:00
bwreilly
23fc9dd53f better doc for object permissions, drop redundant has_permission call 2013-09-09 09:32:29 -07:00
bwreilly
0183c69538 removed unnecessary guardian req and view.action parsing 2013-09-09 08:39:09 -07:00
bwreilly
9ff0f6d3bf switch to a dedicated filter for read list object permissions 2013-09-07 23:48:03 -05:00
bwreilly
118645e480 first pass at object level permissions and tests 2013-09-07 23:18:52 -05:00
bwreilly
57d6b5fb7c necessary test settings for guardian 2013-09-07 23:16:43 -05:00
Andy Freeland
b5523bcc7d Support customizable view EXCEPTION_HANDLER
Add `api_settings.EXCEPTION_HANDLER` to support custom error responses.

Fixes #907.
2013-09-06 12:47:33 -05:00
bwreilly
b07de86ad3 some properly failing tests, set up for standard permissions 2013-09-06 12:35:06 -05:00
bwreilly
4a9dcfa760 added guardian as optional requirement, stubbed out object-level permission class 2013-09-06 11:01:31 -05:00
Tom Christie
196a895fe4 Merge pull request #1076 from edmondwong/master
Allow OPTIONS to retrieve PUT field metadata on empty objects
2013-09-05 12:24:17 -07:00
Edmond Wong
6e7e4fc01c Added test for OPTIONS before object creation from a PUT 2013-09-03 12:30:18 -07:00
Yuri Prezument
745ebeca77 Handle case where obj=None in PKRelatedField.field_to_native()
Fixes #1072
2013-08-31 17:20:49 +03:00
Yuri Prezument
a15cda4be4 Regression test for #1072 2013-08-31 17:10:15 +03:00
Edmond Wong
3063a50fc2 Allow OPTIONS to retrieve PUT field metadata on empty objects
This allows OPTIONS to return the PUT endpoint's object serializer metadata when the object hasn't been created yet.
2013-08-30 18:03:44 -07:00
Tom Christie
9a5b2eefa9 Merge master 2013-08-30 09:28:33 +01:00
Tom Christie
f3ab0b2b1d Browsable API tab preferences should be site-wide 2013-08-30 09:20:12 +01:00
Tom Christie
cba972911a Fix failing empty serializer test 2013-08-30 09:12:39 +01:00
Tom Christie
3fba60e99c Drop broken placeholder serializations. 2013-08-30 09:02:54 +01:00
Tom Christie
2247fd68e9 Fix multipart error when used via content-type overloading 2013-08-29 21:24:29 +01:00
Tom Christie
19f9adacb2 Merge branch 'master' into display-raw-data 2013-08-29 20:52:46 +01:00
Tom Christie
02b6836ee8 Fix breadcrumb view names 2013-08-29 20:51:51 +01:00
Tom Christie
e4d2f54529 Fix indenting on raw data forms 2013-08-29 20:39:05 +01:00
Tom Christie
44f8d1bef2 Fix tab preferences on PUT forms 2013-08-29 20:38:55 +01:00
Tom Christie
1fa2d823cc Preserve tab preference in cookies. 2013-08-29 20:35:59 +01:00
Tom Christie
c7f3b8bebe Include serialized content in raw data form. 2013-08-29 17:23:26 +01:00
Mathieu Pillard
11071499a7 Make ChoiceField.from_native() follow IntegerField behaviour on empty values 2013-08-29 18:10:47 +02:00
Tom Christie
37e2720a40 Add override_method context manager and cleanup. 2013-08-29 12:55:56 +01:00
Craig de Stigter
94cd136943 add transform_<fieldname> methods to serializers, which basically do the opposite of validate_<fieldname> on a per-field basis. 2013-08-29 17:35:15 +12:00
Tom Christie
18007d6846 Simplifying raw data renderering support 2013-08-28 21:52:56 +01:00
Tom Christie
2d5e14a8d3 Throttles now use HTTP_X_FORWARDED_FOR, falling back to REMOTE_ADDR to identify anonymous requests 2013-08-28 15:32:41 +01:00
Tom Christie
97b52156cc Added .cache attribute on throttles.
Closes #1066.  More localised than a new settings key, and more
flexible in that different throttles can use different behavior.
Thanks to @chicheng for the report! :)
2013-08-28 13:34:14 +01:00
Tom Christie
4c53fb883f Tweak MAX_PAGINATE_BY behavior in edge case.
Always respect `paginate_by` settings if client does not specify page
size.  (Even if the developer has misconfigured, so that `paginate_by >
max`.)
2013-08-28 12:52:38 +01:00
Tom Christie
e1b54f2a2a Merge branch 'max_paginate_by' of git://github.com/alexander-akhmetov/django-rest-framework into alexander-akhmetov-max_paginate_by 2013-08-27 20:58:30 +01:00
Alexander Akhmetov
7fb3f078f0 fix for python3 2013-08-27 17:42:10 +04:00
Tom Christie
b54cbd292c Use view.settings for API settings, to make testing easier. 2013-08-27 12:36:06 +01:00
Tom Christie
b430503fa6 Move exception handler out of main view 2013-08-27 12:32:33 +01:00
Tom Christie
dce47a11d3 Move settings into more sensible ordering 2013-08-27 12:32:13 +01:00
Tom Christie
8d590ebfde First hacky pass at displaying raw data 2013-08-27 11:22:19 +01:00
Alexander Akhmetov
316de3a8a3 Added max_paginate_by parameter 2013-08-26 20:14:17 +04:00
Tom Christie
ab68d355f5 Merge pull request #1058 from ericbuehl/master
parameterize identity field serializer class to allow for easier subclassing
2013-08-25 12:46:11 -07:00
Eric Buehl
9d3fae27fd parameterize identity field class to allow for easier subclassing 2013-08-23 16:48:32 +00:00
Tom Christie
be0f5850c3 Extra docs 2013-08-23 16:51:34 +01:00
Tom Christie
c77e4a2c59 Merge branch 'master' into html-form-renderer 2013-08-23 16:46:14 +01:00
Tom Christie
436e66a42d JSON responses should not include a charset 2013-08-23 16:45:55 +01:00
Tom Christie
e23d588852 Adding standard renderer attributes and documenting 2013-08-23 16:16:41 +01:00
Tom Christie
10d386ec6a Cleanup and dealing with empty form data. 2013-08-23 16:10:20 +01:00
Tom Christie
1c935cd3d2 Fix failing test for router with no trailing slash 2013-08-23 15:18:47 +01:00
Tom Christie
005f475c6a Don't consume .json style suffixes with routers.
When trailing slash is false, the lookup regex should not consume '.'
characters.  Fixes #1057.
2013-08-23 14:58:06 +01:00
Tom Christie
b72a99fef2 Merge branch 'display-nested-data' into html-form-renderer 2013-08-23 14:39:52 +01:00
Tom Christie
0966a2680b First pass at HTMLFormRenderer 2013-08-23 14:38:31 +01:00
Tom Christie
e03854ba6a Tweaks to display nested data in empty serializers 2013-08-23 14:06:14 +01:00
Tom Christie
e7927e9bca Extra docs on PATCH with no object. 2013-08-23 13:35:50 +01:00
Tom Christie
110d549404 Merge pull request #1034 from KrzysiekJ/patch-create-fallback-removal
PATCH requests should not be able to create objects.
2013-08-23 05:34:00 -07:00
Tom Christie
95b2bf50fb Add validation error test when passing non-file to FileField 2013-08-23 12:03:54 +01:00
Tom Christie
47d17b088a Merge branch 'fix_937' of git://github.com/aburgel/django-rest-framework into aburgel-fix_937 2013-08-23 11:56:22 +01:00
Tom Christie
19a774f972 force_authenticate(None) also clears session info.
Closes #1055.
2013-08-23 11:21:52 +01:00
Tom Christie
f631f55f8e Tweak comment 2013-08-21 21:35:17 +01:00
Tom Christie
16ffdedd14 Merge master 2013-08-21 21:31:59 +01:00
Tom Christie
44ceef8415 Updating 2.4.0 release notes 2013-08-21 21:30:25 +01:00
Tom Christie
2bcad32dcb If page size query param <= 0, just use default page size.
Closes #1028.
2013-08-21 21:22:12 +01:00
Tom Christie
815ef50735 If page size query param <= 0, just use default page size.
Closes #1028
2013-08-21 21:18:46 +01:00
Tom Christie
db25aaff3a Merge branch 'static-routes' into 0.4.0 2013-08-21 20:36:07 +01:00
Tom Christie
7cc1d38d22 Merge branch 'boolean-field-required-1004' of git://github.com/willkg/django-rest-framework 2013-08-19 21:44:52 +01:00
Tom Christie
28ff6fb1ec Only HTML forms should have implicit default False for boolean fields 2013-08-19 21:44:47 +01:00
Tom Christie
8acee2e626 Commenting link/action decorators as pending deprecation 2013-08-19 21:02:22 +01:00
Tom Christie
28e44efe25 Merge branch 'master' into 2.4.0 2013-08-19 20:58:28 +01:00
Tom Christie
c607414f16 Merge 2013-08-19 20:36:18 +01:00
Tom Christie
5120670624 Document customizable view names/descriptions 2013-08-19 08:45:53 +01:00
Tom Christie
89b0a539c3 Move view name/description functions into public space 2013-08-19 08:24:27 +01:00
Tom Christie
a8aabe23c9 Merge branch 'master' of git://github.com/chrispaolini/django-rest-framework into chrispaolini-master 2013-08-19 07:40:30 +01:00
Christopher Paolini
5a374955b1 Updated tests for view name and description
Updated the tests to use the default view_name and view_description
functions in the formatter through the default in settings.
2013-08-18 00:29:05 -04:00
Christopher Paolini
11d7c1838a Updated default view name/description functions
Forgot to update the default view name/description functions to the new
setup.
2013-08-17 17:52:08 -04:00
Christopher Paolini
e6662d434f Improved view/description function setting
Now supports each View having its own name and description function and
overriding the global default.
2013-08-17 17:44:51 -04:00
Christopher Paolini
a95984e4d4 Settings now have default functions
Updated the setting to have a default function.
2013-08-16 13:23:04 -04:00
Will Kahn-Greene
430f00847a Add test for BooleanField and required
This tests setting required=True on a BooleanField.

Test for issue #1004.
2013-08-16 09:20:49 -04:00
Tom Christie
f6f69dc71d Version 2.3.7 2013-08-16 14:03:20 +01:00
Tom Christie
7b27997a01 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2013-08-15 21:36:54 +01:00
Tom Christie
f34b9ff049 AnonRateThrottle should always allow authenticated users. Closes #994 2013-08-15 21:36:45 +01:00
Christopher Paolini
d07dae6e79 Ability to override name/description of view
Added settings and additions to formatting.py
2013-08-15 12:41:52 -04:00
Chad Barrington
99083baf25 Update filters.py
Fixed cut n pasted get_ordering docstring for ya bro.
2013-08-14 16:01:25 -05:00
Chad Barrington
486f4c8047 Update filters.py
Here's a little cleanup for ya, brah!
2013-08-14 15:18:44 -05:00
Tom Christie
44401273f7 Merge pull request #1038 from jsatt/nontime_throttling
don't set X-Throttle-Wait-Second header if throttle wait is None
2013-08-14 05:15:57 -07:00
JT
2f03870ae1 Fix for "No module named compat" 2013-08-13 18:48:49 -05:00
Jeremy Satterfield
1d8a80f5cc don't set X-Throttle-Wait-Second header if throttle wait is None 2013-08-13 15:31:58 -05:00
Krzysztof Jurewicz
e677f3ee5c PATCH requests should not be able to create objects. 2013-08-13 13:26:30 +02:00
Yuri Prezument
ff1efcf60f If null or blank - don't save the nested object 2013-08-12 21:06:37 +03:00
Yuri Prezument
901d2b0eb8 Failing test case for nullifying nested object 2013-08-12 21:06:37 +03:00
Yuri Prezument
abe655e061 Make OneToOneSource.target nullable 2013-08-12 21:06:37 +03:00
Yuri Prezument
cd5f1bb229 Fix PATCH button title in template 2013-08-12 15:44:00 +03:00
Tom Christie
fbd4c4ee8f Merge pull request #1030 from etos/patch-2
Spelling correction on read_only_fields err msg
2013-08-12 01:25:36 -07:00
Dan Stephenson
bbdcbe9452 Spelling correction on read_only_fields err msg
just spotted extras
2013-08-10 01:22:47 +01:00
Dan Stephenson
edd696292c Spelling correction on read_only_fields err msg 2013-08-10 01:12:36 +01:00
Kevin Brown
103fed9667 Fixed reversed arguments in assertion 2013-07-26 10:59:51 -04:00
Alex Burgel
db9672d304 Add support for removing field files by sending an empty string 2013-07-24 17:24:29 -04:00
Pavel Zinovkin
b6d6feaa02 Fixed test 2013-07-21 22:43:19 +04:00
Pavel Zinovkin
2e18fbe373 Updated EmailField error message. This one already available in django translations.
https://github.com/django/django/blob/master/django/conf/locale/ru/LC_MESSAGES/django.po#L343
2013-07-21 17:03:58 +04:00
Alex Burgel
eaae8fb2d9 Combined link_* and action_* decorators into detail_route and list_route, marked the originals as deprecated. 2013-07-15 18:35:13 -04:00
Alex Burgel
ca7ba07b4e Introduce DynamicDetailRoute and DynamicListRoute to distinguish between different route types 2013-07-15 17:59:37 -04:00
Alex Burgel
e14cbaf696 Changed collection_* decorators to list_* 2013-07-15 17:59:36 -04:00
Alex Burgel
f022743078 Rename router collection test case 2013-07-15 17:59:36 -04:00
Alex Burgel
8d521c068a Revert route name change and add key to Route object to identify different route types 2013-07-15 17:59:36 -04:00
Alex Burgel
d72603bc6a Add support for collection routes to SimpleRouter 2013-07-15 17:59:03 -04:00
Tom Christie
82145e2b06 Only include APISimpleTestCase and APILiveServerTestCase from django 1.4 onwards 2013-07-15 21:54:13 +01:00
Tom Christie
ae63c49777 Added test case classes 2013-07-15 11:38:38 +01:00
Tom Christie
3032a06c9b Use absolute import style 2013-07-09 13:12:28 +01:00
Gertjan Oude Lohuis
db863be10c Add an ModelAdmin for easy management of Tokens 2013-07-09 12:19:13 +02:00
Tom Christie
8f79caf9d1 Use 'force_text', not 'unicode', for compat across python version 2013-07-05 09:07:18 +01:00
Tom Christie
676ab4971c Merge branch 'remove-hold-down-control-messages' of git://github.com/rouge8/django-rest-framework into rouge8-remove-hold-down-control-messages 2013-07-05 08:55:24 +01:00
Tom Christie
9e4e2c60f7 Merge branch 'master' into 2.4.0 2013-07-04 20:31:26 +01:00
Tom Christie
99794773cf Merge pull request #962 from tomchristie/test-client
APIClient and APIRequestFactory
2013-07-04 05:50:04 -07:00
Tom Christie
5fa100245c Update parser docstrings. Closes #968. 2013-07-04 12:47:35 +01:00
Andy Freeland
7d43f41e4a Remove 'Hold down "Control" ...' message from help_text
When getting the help_text from a field where `many=True`, Django
appends 'Hold down "Control", or "Command" on a Mac, to select more than
one.' to the help_text. This makes some sense in Django's ModelForms,
but no sense in the API.
2013-07-04 01:51:24 -04:00
Tom Christie
0a722de171 Complete testing docs 2013-07-01 13:59:05 +01:00
Tom Christie
c9485c783a Rename to force_authenticate 2013-06-29 22:53:15 +01:00
Tom Christie
ab799ccc3e Simplify APIClient implementation 2013-06-29 21:34:47 +01:00
Tom Christie
664f8c6365 Added APIClient.authenticate() 2013-06-29 21:02:58 +01:00
Tom Christie
35022ca921 Refactor SessionAuthentication slightly 2013-06-29 08:14:05 +01:00
Tom Christie
f7db06953b Remove unneeded tests.utils, superseeded by APIRequestFactory, APIClient 2013-06-29 08:06:11 +01:00
Tom Christie
90bc07f3f1 Addeded 'APITestClient.credentials()' 2013-06-29 08:05:08 +01:00
Tom Christie
f585480ee1 Added APIClient 2013-06-28 17:50:30 +01:00
Tom Christie
7224b20d58 Added APIRequestFactory 2013-06-28 17:17:39 +01:00
Tom Christie
05d8a90e94 Merge branch 'master' into writable-nested-modelserializer 2013-06-28 09:36:17 +01:00
Tom Christie
4ee9cdc7af Fix compat datetime import when oauth2 provide does not support timezone aware datetimes 2013-06-28 09:35:52 +01:00
Tom Christie
58d38d694e Merge branch 'master' into writable-nested-modelserializer 2013-06-28 09:07:09 +01:00
Tom Christie
379ad8a824 pending deprecations -> deprecated 2013-06-27 20:36:14 +01:00
Tom Christie
3fcc01273c Remove deprecated code 2013-06-27 20:29:52 +01:00
Tom Christie
7ba2f44a0f Version 2.3.6 2013-06-27 13:00:05 +01:00
Tom Christie
e0dddbc5de Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2013-06-27 12:32:46 +01:00
Tom Christie
96f41fd12d Use imported views to expose python 2.6 bug. Refs #943 2013-06-27 11:58:34 +01:00
Tom Christie
7e67ad666b Merge pull request #953 from j4mie/prevent-duplicate-routing
Prevent dynamically routing to a method that is already routed to.
2013-06-26 15:37:42 -07:00
Jamie Matthews
c127e63c32 Raise exception when attempting to dynamically route to a method that is already routed to. Fixes #940 2013-06-26 23:00:42 +01:00
Tom Christie
91b9fcb0ba Minor test cleanup 2013-06-26 22:43:17 +01:00
Tom Christie
35e4d1cf9c Merge pull request #943 from trwired/utf8safedocs
Make browsable API views play nice with utf-8
2013-06-26 14:41:07 -07:00
Tom Christie
69e5e3cc0d Use timezone aware datetimes with oauth2 provider, when supported. Closes #947. 2013-06-26 21:18:13 +01:00
Igor Kalat
c8b0e6c40f Refactored get_view_description, moved appropriate tests to test_description.py 2013-06-26 22:12:02 +02:00
Tom Christie
715bd47dfa Use AUTH_USER_MODEL consistently between various Django versions. Closes #946 2013-06-26 17:56:42 +01:00
Igor Kalat
2bf5f63050 Make browsable API views play nice with utf-8 2013-06-22 19:21:28 +02:00
Tom Christie
8cc63b09f6 Add support for StreamingHttpResponse. Closes #939 2013-06-21 22:42:04 +01:00
Tom Christie
8b0d4115c6 Merge pull request #941 from FreakyDug/master
Fixed a couple of small problems I found when using the action decorator.
2013-06-21 14:23:40 -07:00
Tom Christie
209b65f426 Update assertion error to reference 'base_name' argument, not incorrect 'name' argument. Closes #933 2013-06-21 22:13:25 +01:00
Tom Christie
3d4bb4b553 Ensure action kwargs properly handdled. Refs #940. 2013-06-21 22:03:07 +01:00
Philip Douglas
fa9f5fb8dc Allow uppercase methods in action decorator.
Previously, using uppercase for the method argument would silently fail
to route those methods.
2013-06-21 16:28:17 +01:00
Tom Christie
6d2ca75d8e Don't raise AttributeError on views with no model or queryset, when using DjangoModelPermissions 2013-06-18 11:10:56 +01:00
Tom Christie
4ad1094968 HyperlinkedModelSerializer supports overriding of 'url' field. Closes #936 2013-06-17 15:09:36 +01:00
Tom Christie
52298480c2 Clean up 2013-06-14 15:39:56 +01:00
Tom Christie
df957c8625 Fix and tests for ScopedRateThrottle. Closes #935 2013-06-14 14:18:40 +01:00
Tom Christie
614d8fec3c Merge pull request #929 from mhsparks/positive-integer-field
Added test for custom fields with min_value and max_value validators
2013-06-12 12:39:57 -07:00
Tom Christie
c4ab77b9e9 Merge pull request #926 from davesque/master
I was having problems with a custom field that used a min_value validator...
2013-06-12 12:38:35 -07:00
inglesp
b1847412b5 Typo 2013-06-12 20:00:33 +02:00
Mark Hughes
82c515c19c Added test for custom fields with min_value and max_value validators 2013-06-12 17:36:16 +01:00
David Sanders
fcaca73709 Pep8 lint 2013-06-11 16:10:25 -06:00
David Sanders
656897c2da Update ModelField to work with a broader range of fields
Add support for fields that use min and max value validators.
2013-06-11 16:09:32 -06:00
Ethan Fremen
d89aade343 Allow the default router to have a custom name.
Signed-off-by: Ethan Fremen <ethan@matterport.com>
2013-06-07 19:49:18 -07:00
Ethan Fremen
ae2887ffc4 Set the args and kwargs before initializing the request.
Allows get_parser_context to function correctly.

Signed-off-by: Ethan Fremen <ethan@matterport.com>
2013-06-07 19:25:39 -07:00
Tom Christie
db8d61196a Merge pull request #915 from aburgel/fix-oauth-bad-consumer-key
Fix serialization exception caused by non-existent consumer
2013-06-06 00:58:54 -07:00
Tom Christie
40e09472d8 Never deepcopy validators. Closes #913 2013-06-06 08:56:39 +01:00
Alex Burgel
ecb8a460c9 Fix serialization exception when using non-existent consumer 2013-06-05 17:02:44 -04:00
Tom Christie
f8a0d31d71 Remove ConfigurationError in favor of Django's ImproperlyConfigured 2013-06-05 13:45:28 +01:00
Tom Christie
de00ec95c3 Merge master 2013-06-05 13:33:19 +01:00
Tom Christie
2ca243a114 Fix up tests and tox 2013-06-05 13:20:06 +01:00
Tom Christie
f1251e8c58 Added trailing_slash argument to routers. Closes #905 2013-06-04 20:59:12 +01:00
Tom Christie
c160e49321 Test cases and fix for plain-list relationships (ie not queryset) Closes #878. 2013-06-04 14:05:35 +01:00
Tom Christie
478f6ff94a Regression test for #840. Closes #840. 2013-06-03 21:21:47 +01:00
Tom Christie
87b8cb8524 Merge pull request #904 from menghan/fix-doc-typo
fix doc typo
2013-06-03 08:04:32 -07:00
Tom Christie
28c2c46a03 Version 2.3.5 2013-06-03 12:34:18 +01:00
Tom Christie
6e0567c271 request.user should be still be accessible in renderer context if authentication fails 2013-06-03 12:32:57 +01:00
Tom Christie
62e59f8277 Merge pull request #900 from copitux/fix-validation-layer
Bugfix: Fix run validation layer with invalid data
2013-06-03 00:49:02 -07:00
Tom Christie
1bb5fb8e4a Merge pull request #895 from linovia/django1.6a1
Added Django 1.6a1 to the test matrix.
2013-06-02 13:11:49 -07:00
Tom Christie
a3796f430b Only use test import munging prior to Django 1.6's new test runner 2013-06-02 21:04:47 +01:00
Tom Christie
27d8b848bc Add notes on 'method' argument to '@action' decorator 2013-06-02 20:40:56 +01:00
Tom Christie
b15a6ccef2 Serializer field 'default' argument may be a callable 2013-06-02 20:12:49 +01:00
Tom Christie
01e80ff9f7 Merge branch 'master' of https://github.com/woakas/django-rest-framework 2013-06-02 20:05:37 +01:00
Tom Christie
372ad01b74 Test cleanup 2013-06-02 19:56:15 +01:00
Tom Christie
8b73dce51d view_name argument to HyperlinkedModelSerializer is now properly enforced. Closes #471 2013-06-02 19:50:24 +01:00
Menghan
b8aec1277c fix doc typo 2013-06-02 12:12:14 +08:00
Tom Christie
d7753123f6 HyperlinkedModelSerializer lookup_field option should apply to HyperlinkedIdentityField 2013-05-31 11:50:37 +01:00
Tom Christie
c36ff4e052 Cleaning up imports and whitespace 2013-05-31 11:17:33 +01:00
Tom Christie
fdf9a26740 Remove unused test helper module 2013-05-31 11:14:37 +01:00
David Medina
c176af35e5 Improve avoid validation test: #900 2013-05-30 09:07:30 +02:00
Gustavo Andrés Angulo
de1cc5f8c1 Fix default field when is a simple callable function. 2013-05-29 11:45:54 -05:00
Tom Christie
c98ac3e83e Added get_url hook to HyperlinkedIdentityField in line with HyperlinedRelatedField. Closes #883 2013-05-29 14:09:31 +01:00
David Medina
d11b55648c Bugfix: Fix run validation layer with invalid data 2013-05-29 12:55:42 +02:00
Xavier Ordoquy
732269160f Use absolute name imports for tests if django version is 1.6+. 2013-05-29 10:18:38 +02:00
Tom Christie
85fe7197bf Change test urls to match 1.6 test module name style 2013-05-29 09:00:30 +01:00
Tom Christie
cb49c5d3c0 Rename test modules to 1.6 style 2013-05-29 08:57:11 +01:00
Stephan Groß
f6d7f54fc1 Merge pull request #897 from pborreli/typos
Fixed typos
2013-05-28 07:39:56 -07:00
Pascal Borreli
8f35ac4f93 Fixed typos 2013-05-28 15:09:23 +01:00
Tom Christie
22e1950e1c Backwards compatible approach to HyperlinkedIdentityField URLs. Closes #892 2013-05-28 12:08:36 +01:00
Tom Christie
138f0cacdb Raise 404 on incorrect lookup type in URL, not 500. Closes #890. 2013-05-28 11:57:11 +01:00
Tom Christie
2a38aa7291 Version 2.3.4 2013-05-24 23:55:59 +01:00
Tom Christie
fcaee6e580 Clean up OPTIONS implementation 2013-05-24 23:44:23 +01:00
Alex Burgel
112b52f57e Allow action decorator to handle multiple http methods 2013-05-24 18:28:47 -04:00
Tom Christie
760e8642bd Merge branch 'issue-192-expose-fields-for-options' of https://github.com/grimborg/django-rest-framework into improved-options-support 2013-05-24 21:21:56 +01:00
Oscar Vilaplana
a1deb5eac7 simplified, moved field humanizing to Field. broken tests 2013-05-23 08:26:55 +02:00
Tom Christie
7a93fdbe0a Last bits of charset sorting-out-ness 2013-05-22 16:46:15 +01:00
Tom Christie
17699056af Use assertEqual, not assertEquals 2013-05-22 16:45:56 +01:00
Tom Christie
0c2b534d95 Minor cleanup 2013-05-22 09:29:43 +01:00
Tom Christie
06b28f66ed Tweak method ordering for better consistency 2013-05-22 09:07:12 +01:00
Tom Christie
cdc3c37465 Merge and styling fixes 2013-05-21 12:01:56 +01:00
Tom Christie
aef7ac72cc content type may be set explicitly on the response 2013-05-20 21:18:17 +01:00
Tom Christie
f19e0d544f Fix charset issues 2013-05-20 21:00:56 +01:00
David Jones
c3fd7c6685 Updated SlugField to raise validation errors for invalid slugs 2013-05-20 13:04:38 +01:00
Oscar Vilaplana
dea0b6ab7f removed TODO 2013-05-19 15:48:16 +02:00
Oscar Vilaplana
259153b3f9 removed TODO 2013-05-19 15:47:50 +02:00
Oscar Vilaplana
9133ef77ab removed TODO 2013-05-19 15:47:23 +02:00
Oscar Vilaplana
7a5cd090aa fixed tests, added docs, renamed helper method 2013-05-19 15:45:33 +02:00
Oscar Vilaplana
6bbedfd7ae fixed merge conflict 2013-05-19 15:18:40 +02:00
Nikolaus Schlemm
31893cff74 * make test assertion more explicit
* cleanup
2013-05-19 15:12:01 +02:00
Oscar Vilaplana
e80488b619 Added min_length and max_length 2013-05-19 15:08:41 +02:00
Oscar Vilaplana
edbf65c06e Removed unused imports 2013-05-19 15:06:24 +02:00
Oscar Vilaplana
696c053f4f s/Single Character/String/ 2013-05-19 15:04:43 +02:00
Nikolaus Schlemm
88c94f3720 Merge remote-tracking branch 'grimborg/issue-192-expose-fields-for-options' into issue-192-expose-fields-for-options 2013-05-19 14:58:11 +02:00
Oscar Vilaplana
f1f5f92d89 Added tests, cleaned up imports 2013-05-19 14:55:46 +02:00
Nikolaus Schlemm
efca5f6fec use double quotes for docstring instead of single quotes 2013-05-19 14:54:16 +02:00
Nikolaus Schlemm
b07cfdcf54 FIXED TEST FOR: don't expose fields for GET and DELETE - leaving room for parameters like e.g. filter or paginate 2013-05-19 13:54:13 +02:00
Nikolaus Schlemm
5473f60192 Merge remote-tracking branch 'grimborg/issue-192-expose-fields-for-options' into issue-192-expose-fields-for-options 2013-05-19 13:46:17 +02:00
Nikolaus Schlemm
1154c12b33 don't expose fields for GET and DELETE - leaving room for parameters like e.g. filter or paginate 2013-05-19 11:37:12 +02:00
Nikolaus Schlemm
a91841f7fe WORKAROUND: avoid errors like "AttributeError: 'APIRoot' object has no attribute 'get_serializer'" 2013-05-19 11:29:41 +02:00
Oscar Vilaplana
08e9e2042c Disabled label and help_text in unit test. We should change the test so
that it sets them up.
2013-05-19 11:26:56 +02:00
Oscar Vilaplana
b915c1d4d8 Made field label optional in OPTIONS 2013-05-19 11:15:38 +02:00
Nikolaus Schlemm
c0f3a1c397 Integrated status quo of grimborg's awesome humanize_field() for exposing field metadata via OPTIONS :) 2013-05-19 09:25:02 +02:00
Nikolaus Schlemm
9454e23aa9 Merge branch 'master' of git://github.com/tomchristie/django-rest-framework into issue-192-expose-fields-for-options 2013-05-19 09:02:07 +02:00
Tom Christie
7c945b43f0 Only use object permissions in browsable api form generation if an object exists 2013-05-18 23:52:02 +01:00
Tom Christie
4802177766 Enforce object permissions check when rendering forms in browseable API 2013-05-18 21:19:53 +01:00
Tom Christie
4631b91e14 Fix broken 'binary content' in browseable API 2013-05-18 21:12:44 +01:00
Nikolaus Schlemm
843ae60237 Merge branch 'issue-192-expose-fields-for-options' of git://github.com/grimborg/django-rest-framework into issue-192-expose-fields-for-options
Conflicts:
	rest_framework/tests/fields.py
2013-05-18 18:34:21 +02:00
Nikolaus Schlemm
7f1cc82f96 added unittests for permission check of exposing actions via OPTIONS 2013-05-18 18:29:51 +02:00
Oscar Vilaplana
fecadacab1 added tests for form 2013-05-18 18:27:53 +02:00
Tom Christie
d4721fc1f7 Correct charset on UnicodeJSONRenderer 2013-05-18 17:25:38 +01:00
Tom Christie
bac4bf6e95 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2013-05-18 17:22:27 +01:00
Tom Christie
0d3d66cb02 Added proper charset support 2013-05-18 17:21:43 +01:00
Oscar Vilaplana
4dffcb5d77 Added humanized field names and types 2013-05-18 18:10:17 +02:00
Tom Christie
1888f4a1f0 Merge pull request #865 from ryankask/issue-747-lazy-strings-serialized
Issue 747 lazy strings serialized
2013-05-18 09:05:42 -07:00
Ryan Kaskel
579f77ceaa Move function to compat. 2013-05-18 17:04:17 +01:00
Tom Christie
6d5cf527c3 Merge pull request #864 from minddust/fix_missing_min_values
Fix missing min values
2013-05-18 08:56:24 -07:00
Nikolaus Schlemm
5ab7cc6e6b HEAD and OPTIONS should not be exposed as actions as discussed in a42afa04c3 (commitcomment-3241476) 2013-05-18 17:38:47 +02:00
Markus Törnqvist
99848b0321 Drop another case of u'', this time from #530 code 2013-05-18 18:38:37 +03:00
Markus Törnqvist
1fd66fe8c6 Drop u'', it was used inconsistently and breaks for nothing with Python 3.2 2013-05-18 18:27:36 +03:00
Ryan Kaskel
33f702d306 Merge latest changes from master. 2013-05-18 16:26:17 +01:00
Ryan Kaskel
10e451a85a Handle Python 3 strings and lazy strings. 2013-05-18 16:21:18 +01:00
Stephan Groß
025c40e7d5 Fix order for applying min_value to fields 2013-05-18 17:16:29 +02:00
Nikolaus Schlemm
b225b1d5c9 Merge branch 'master' of git://github.com/tomchristie/django-rest-framework into issue-192-expose-fields-for-options 2013-05-18 17:13:59 +02:00
Markus Törnqvist
48c1b2233b Merge branch 'master' into mjtorn-master
Conflicts:
	rest_framework/serializers.py
	rest_framework/tests/serializer.py

Fixed conflicts
2013-05-18 18:13:31 +03:00
Nikolaus Schlemm
a42afa04c3 draft for fields' metadata via OPTIONS - needs review and decision 2013-05-18 17:13:23 +02:00
Nikolaus Schlemm
b4dbfa9832 only catch relevant exceptions ;) 2013-05-18 17:10:13 +02:00
Pablo Recio
b9b2297612 Tests proper encoding in JSONRenderer and UnicodeJSONRenderer 2013-05-18 17:06:54 +02:00
Pablo Recio
6dbbbc16da Better checking if the content can be printable in the BrowsableAPI 2013-05-18 17:06:54 +02:00
Pablo Recio
97f034e3d6 Adds UnicodeJSONRenderer which doesn't ensure ascii 2013-05-18 17:06:54 +02:00
Pablo Recio
c69f960066 Adding a class attribute into JSONRenderer for ensuring ascii, and using it consistently 2013-05-18 17:06:54 +02:00
Stephan Groß
0c81d04170 Add min_value=0 to autogenerated Pos..IntFields 2013-05-18 17:04:20 +02:00
Karol Majta
5bebd29f11 Merge branch 'master' of git://github.com/tomchristie/django-rest-framework 2013-05-18 16:56:38 +02:00
Karol Majta
ebe959b52a charset param gets now appended to response's Content-Type. Closes #807 2013-05-18 16:45:05 +02:00
Markus Törnqvist
2795e842d6 Two test cases for html rendering of API with labelized model 2013-05-18 17:44:40 +03:00
Markus Törnqvist
e68ea16d7a Update FieldLabelTest to use new BasicModel.verbose_name 2013-05-18 17:43:47 +03:00
Markus Törnqvist
e2a5ec0350 Change BasicModel.verbose_name
Isn't it nicer to test for a text which is different from
what the previous broken behavior was? Now we can really
tell it works!
2013-05-18 17:42:56 +03:00
Tom Christie
3f47eb7a77 Merge pull request #861 from minddust/fix_missing_field_values
Remove default values - django sets them for us - cause of #710
2013-05-18 07:32:50 -07:00
Stephan Groß
6714b755f4 Fix missing para.. 2013-05-18 16:32:31 +02:00
Stephan Groß
aeea32030b Add newline 2013-05-18 16:27:11 +02:00
Tom Christie
5f8d353f0b Rename has_user_through_model -> has_through_model 2013-05-18 15:25:49 +01:00
Stephan Groß
9f9cb97d65 Add TestCases for default field values 2013-05-18 16:24:54 +02:00
Tom Christie
e1a3cab400 Merge pull request #854 from ryankask/issue-775
All relations pointing to ManyToManyFields should default to read-only
2013-05-18 07:22:22 -07:00
Nikolaus Schlemm
f8c1481d4b expose the fields metadata via OPTIONS as described in https://github.com/tomchristie/django-rest-framework/issues/192
missing:
 - get fields for method (currently all the same)
 - tests
 - right placement of code
2013-05-18 16:21:25 +02:00
Tom Christie
cc39b9c925 Merge pull request #858 from minddust/fix_710
Fix for #710
2013-05-18 07:19:52 -07:00
Tom Christie
e32a6e4211 Merge pull request #860 from andymckay/master
startswith can take a tuple
2013-05-18 07:17:13 -07:00
Pablo Recio
7dca0e6859 Removed unicode literals 2013-05-18 16:12:48 +02:00
Pablo Recio
50ba26822d Merge branch 'master' into 675-empty-label-related-field 2013-05-18 16:11:06 +02:00
Andy McKay
aeba5bed05 startswith can take a tuple 2013-05-18 07:09:24 -07:00
Stephan Groß
b7176065a9 Update getattr 2013-05-18 16:06:30 +02:00
Tom Christie
ea9a3d88bc Merge pull request #859 from craigds/master
fix for #765
2013-05-18 07:06:21 -07:00
Markus Törnqvist
e2d3aa65d7 Move and rename LabelModelSerializer for further reuse 2013-05-18 16:56:26 +03:00
Tom Christie
80a2600891 Styling tweaks 2013-05-18 14:55:48 +01:00
Markus Törnqvist
e7ddaf5472 Turns out label and help_text are not always there 2013-05-18 16:50:59 +03:00
Stephan Groß
eb9fdd04fc Remove unused var 2013-05-18 15:50:12 +02:00
Stephan Groß
e6409bbc83 Temp commit for branch change ;-) 2013-05-18 15:48:36 +02:00
Ryan Kaskel
ef383d969c Clean up test case. 2013-05-18 14:31:29 +01:00
Craig de Stigter
208bd991da when source='*' on a nested serializer, expand fields into outer serializer when writing. fixes #765 2013-05-18 15:23:43 +02:00
Ryan Kaskel
22874e441d Merge latest changes from master. 2013-05-18 14:17:50 +01:00
Stephan Groß
a71acc76d8 Fix for #710 2013-05-18 15:12:54 +02:00
Ryan Kaskel
0b84c5a0ac Merge latest changes from master. 2013-05-18 14:04:27 +01:00
Pablo Recio
392c8556ae Display an empty label into related fields if it isn't required 2013-05-18 15:01:58 +02:00
Markus Törnqvist
1343398868 Renderer uses form field's label and help, not attribute name 2013-05-18 15:15:02 +03:00
Mark McArdle
50a8f114fc Merge branch 'master' of git://github.com/tomchristie/django-rest-framework 2013-05-18 13:12:30 +01:00
Ryan Kaskel
770ed3de2e ToMany fields default to read-only if targeting ManyToManyField. 2013-05-18 13:11:40 +01:00
Mark McArdle
611919aa0a Initial commit of fix for https://github.com/tomchristie/django-rest-framework/issues/775 2013-05-18 13:10:05 +01:00
Tom Christie
6d425aa3be Merge pull request #831 from brianz/master
Allow nested fields to be missing
2013-05-18 04:36:00 -07:00
Pablo Recio
8fe43236a2 Moved test model into closer to the testcase 2013-05-18 13:23:38 +02:00
Pablo Recio
53a8004401 Merge branch 'master' into 725-blank-choice-dash
Conflicts:
	rest_framework/tests/fields.py
2013-05-18 12:51:40 +02:00
Pablo Recio
ab8bd566f9 Adding BLANK_CHOICE_DASH as a choice if the model's field isn't required 2013-05-18 12:41:52 +02:00
Tom Christie
2a3056d038 Merge pull request #851 from linovia/master
Updated the dependencies version and added the ALLOWED_HOSTS for tests.
2013-05-18 03:40:38 -07:00
Pablo Recio
de5cc8de42 A model's field is required if is null or blank 2013-05-18 12:40:25 +02:00
Tom Christie
9fe6a103ec Merge pull request #694 from craigds/master
fix function names and dotted lookups for use in PrimaryKeyRelatedField
2013-05-18 03:38:36 -07:00
Craig de Stigter
c992b600f7 add tests for dotted lookup in RelatedField, PrimaryKeyRelatedField, and HyperlinkedRelatedField. #694 2013-05-18 12:32:48 +02:00
Markus Törnqvist
764299843c ManyHyperlinkedRelatedField comes form rest_framework.relations now 2013-05-18 13:30:39 +03:00
Tom Christie
a73c16b85f serializers.Field respects ordering on dicts if it exists. Closes #832 2013-05-18 11:27:48 +01:00
Markus Törnqvist
3691cd2ffd Use smart_text() instead of nonexistant smart_unicode() 2013-05-18 13:26:59 +03:00
Markus Törnqvist
85faebbb75 Merge branch 'mikee2185-master' into mjtorn-master
Conflicts:
	rest_framework/fields.py
	rest_framework/serializers.py
	rest_framework/tests/models.py
	rest_framework/tests/serializer.py

Fixed all the conflicts.
2013-05-18 13:24:36 +03:00
Craig de Stigter
930bd4d0e1 add tests for related field source for HyperlinkedRelatedField. #694 2013-05-18 12:23:12 +02:00
Craig de Stigter
0cd7c80e6e add tests for related field source for RelatedField and PrimaryKeyRelatedField. #694 2013-05-18 12:16:30 +02:00
Xavier Ordoquy
ed0bd195f5 Updated the dependencies version and added the ALLOWED_HOSTS for tests. 2013-05-18 12:07:44 +02:00
Tom Christie
aea040161a Forms in Broseable API support dynamic serializers based on request method 2013-05-18 09:36:09 +01:00
Craig de Stigter
c56d5f8f63 Merge remote-tracking branch 'upstream/master' 2013-05-18 10:23:26 +02:00
Tom Christie
34776da924 Minor mixin refactoring 2013-05-17 22:09:23 +01:00
Tom Christie
b6fb377c2b Fix PendingDeprecation warnings in tests 2013-05-17 21:57:11 +01:00
Tom Christie
14ded26167 PendingDeprecation warning to allow_empty 2013-05-17 21:28:33 +01:00
Andy Freeland
abe207b869 HyperlinkedIdentityField uses lookup_field kwarg.
According to the [Serializers API Guide][1], `HyperlinkedIdentityField`
takes `lookup_field` as a kwarg like the other related fields and the
generic views. However, this was not actually implemented.

[1]: http://django-rest-framework.org/api-guide/serializers.html#hyperlinkedmodelserializer
2013-05-16 11:48:35 -04:00
Tom Christie
aff88d15f7 Version 2.3.3 2013-05-16 15:08:12 +01:00
Tom Christie
af88a5b175 Test and fix which closes #652. 2013-05-15 14:25:25 +01:00
Tom Christie
092d5223eb Fix searchfilter issues 2013-05-15 10:29:51 +01:00
Tom Christie
2f54decd3e Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2013-05-14 21:41:39 +01:00
Tom Christie
e939e1755a Base automatic filterset model on the queryset model. Fixes #834. 2013-05-14 21:40:55 +01:00
Tom Christie
dd3c434f6c Merge pull request #824 from jsummerfield/patch-1
Remove trailing unmatched </div> in login_base.html template. Reformat i...
2013-05-14 10:36:31 -07:00
Tom Christie
d62414147f Fix assert messaging on fields/exclude checking. Closes #833 2013-05-14 17:53:37 +01:00
Tom Christie
a303d0f38c Fix filter test renaming 2013-05-14 11:37:59 +01:00
Tom Christie
ce1a04a603 Merge branch 'master' of https://github.com/avinash240/django-rest-framework 2013-05-14 11:34:47 +01:00
Tom Christie
2cff6e69db Added OrderingFilter 2013-05-14 11:27:08 +01:00
Tom Christie
6a037f63ed Added OrderingFilter 2013-05-14 11:27:03 +01:00
Tom Christie
08bc976269 Rename filter tests 2013-05-14 10:16:46 +01:00
Tom Christie
b2bf5f1f88 SearchFilter may be comma and/or whitespace seperated 2013-05-14 10:10:44 +01:00
Tom Christie
752c01420f Fix Django 1.3 compat with routers 2013-05-14 10:01:05 +01:00
Brian Zambrano
24c9c455fe Allow for missing non-required nested objects.
Serializer fields which are themselves serializers should not be required.
Specifically, if a nested object is set to "required=False", it should be
possible to serialize the main object and have the sub-object set to None/null.
2013-05-13 14:41:12 -07:00
James Summerfield
5074bbe4b2 Remove trailing unmatched </div> in login_base.html template. Reformat indentation and label all closing tags for consistency. 2013-05-13 07:51:23 +02:00
Marlon Bailey
5e2d8052d4 fix test case to work with Python 3 and make it more explicit 2013-05-12 09:22:14 -04:00
Marlon Bailey
9d2580dccf added support for multiple @action and @link decorators on a viewset, along with a router testcase illustrating the failure against the master code base 2013-05-11 22:26:34 -04:00
Tom Christie
fd4a66cfc7 Fix py3k compat with functools.reduce 2013-05-10 23:06:42 +01:00
Tom Christie
dd51d369c8 Unicode string fix 2013-05-10 23:02:24 +01:00
Tom Christie
293dc3e6d8 Added SearchFilter 2013-05-10 22:33:11 +01:00
Tom Christie
8ce36d2bf1 SearchFilter and tests 2013-05-10 21:57:20 +01:00
Tom Christie
773a92eab3 Move models into test modules, out of models module 2013-05-10 21:57:05 +01:00
Tom Christie
0176a5391b Fix HyperlinkedModelSerializer not respecting lookup_fields 2013-05-09 17:09:40 +01:00
Tom Christie
939cc5adba Tweak inheritance 2013-05-09 13:35:01 +01:00
Tom Christie
31f94ab409 Added GenericViewSet and docs tweaking 2013-05-09 13:31:42 +01:00
Mark Aaron Shirley
14482a9661 Fix deprecation warnings in relations_nested tests 2013-05-08 22:44:23 -07:00
Mark Aaron Shirley
e550740b3d Merge remote-tracking branch 'upstream/master' into writable-nested-modelserializer
Conflicts:
	rest_framework/tests/relations_nested.py
2013-05-08 22:39:48 -07:00
Tom Christie
4ab7b8f257 Version 2.3.2 2013-05-08 20:49:49 +01:00
Tom Christie
b443560080 Fix DATETIME_FORMAT, DATE_FORMAT, TIME_FORMAT settings. Closes #798 2013-05-08 20:38:50 +01:00
Tom Christie
de69a28b9e Test and fix for #814. 2013-05-08 20:18:01 +01:00
Tom Christie
429e078eee Allow None filename on uploaded files 2013-05-08 20:07:51 +01:00
Tom Christie
d7c08222f1 Fix breadcrumb rendering issue 2013-05-07 14:11:48 +01:00
Tom Christie
ed2cf180c9 Version 2.3.0 2013-05-07 13:29:38 +01:00
Tom Christie
3353889ae8 Docs for FileUploadParser 2013-05-07 13:27:27 +01:00
Tom Christie
642970a1b8 Merge pull request #806 from wronglink/master
Added FileUploadParser
2013-05-07 05:09:09 -07:00
Tom Christie
3c2bb06660 Support for multiple filter classes 2013-05-07 13:00:44 +01:00
Tom Christie
d71a5533f9 allow_empty -> pending deprecation in preference of overridden get_queryset. 2013-05-07 12:25:41 +01:00
Tom Christie
b70c9cc107 Merge master 2013-05-05 18:12:35 +01:00
Tom Christie
75b2afcb23 Merge branch 'master' into 2.3 2013-05-05 16:48:46 +01:00
Tom Christie
660d240517 .action attribute on viewsets 2013-05-05 16:48:00 +01:00
Tom Christie
538d2e35e7 lookup_field on hyperlink serializers 2013-05-05 16:47:45 +01:00
Michael Elovskikh
a514232815 Raise ParseError if can't handle the uploaded file 2013-05-04 17:18:41 +06:00
Michael Elovskikh
e36e4f48ad Codebase improvements on FileUploadParser
* Added docstrings.
* Added `FileUploadParser.get_filename` to make it easier to override.
* Added url kwargs filename detection step.
* Updated tests corresponding to these changes.
2013-05-04 14:58:21 +06:00
Michael Elovskikh
318fdaabe5 Tests for FileUploadParser 2013-05-03 01:39:08 +06:00
Michael Elovskikh
0c85768435 Added FileUploadParser refs #7 2013-05-03 01:37:25 +06:00
Tom Christie
387250bee4 Automagically determine base_name in router class 2013-05-02 12:07:37 +01:00
Tom Christie
e4067bfb75 introduce lookup_field and add pendingdeprecationwarnings 2013-05-02 12:07:18 +01:00
Victor Shih
8cabae22c5 Example and spelling fixes. Change "browseable" to "browsable" for consistency. 2013-05-01 21:26:40 -07:00
Tom Christie
35f99cddc4 lookup_field on hyperlinked fields, and overriddable hyperlinked fields. Closes #688 2013-05-01 09:03:09 +01:00
Danilo Bargen
e5040fbf94 Catch ImproperlyConfigured exception in compat.py (fixes #803) 2013-04-30 23:24:33 +02:00
Tom Christie
22af28d146 Merge master 2013-04-30 19:32:34 +01:00
Tom Christie
b65b065375 Add DjangoModelPermissionsOrAnonReadOnly 2013-04-30 14:34:28 +01:00
Tom Christie
8dff8d2fdc Add get_breadcrumbs hook to BrowseableAPIRenderer. Closes #733. 2013-04-30 14:34:03 +01:00
Tom Christie
21ae3a6691 Drop out attribute 2013-04-30 08:24:33 +01:00
Tom Christie
0c1ab584d3 Tweaks for preferring .queryset over .model 2013-04-29 14:08:38 +01:00
Tom Christie
53f9d4a380 fields shortcut on views 2013-04-29 13:20:15 +01:00
Tom Christie
d17e2d852f Remove AutoRouter. (Adding shortcut to generic views/viewsets means it's unneccessary) 2013-04-29 12:46:57 +01:00
Tom Christie
dc7b1d6430 2.2's PendingDeprecationWarnings now become DeprecationWarnings. 2.3's PendingDeprecationWarnings added. 2013-04-29 12:45:00 +01:00
JC
8cbb715f4c Changed definition of NestedModelSerializer to correct depth handling 2013-04-27 13:23:55 -07:00
JC
3b0fa3ebaa Changed DepthTest to have depth=2 2013-04-27 13:10:39 -07:00
Tom Christie
018d8b8dce Bits of cleanup 2013-04-26 15:11:11 +01:00
Tom Christie
8fa79a7fd3 Deal with List/Instance suffixes for viewsets 2013-04-26 14:59:21 +01:00
Tom Christie
d985aec3c9 DecimalField 2013-04-26 13:59:06 +01:00
Tom Christie
7268a5c571 Added AutoRouter. Don't know if this is a good idea. 2013-04-25 17:41:47 +01:00
Tom Christie
5d01ae661f Simplify paginate_queryset method 2013-04-25 17:40:17 +01:00
Tom Christie
95abe6e844 Cleanup docstrings 2013-04-25 12:47:34 +01:00
Tom Christie
b94da2468c Various clean up and lots of docs 2013-04-24 22:40:24 +01:00
Tom Christie
835d3f89d3 Merge remove-django-generics 2013-04-23 11:59:13 +01:00
Tom Christie
4bf1a09bae Ensure implementation of reverse relations in 'fields' is backwards compatible 2013-04-23 11:31:38 +01:00
Mark Aaron Shirley
7e0a93f0ee Don't use field when saving related data 2013-04-19 10:46:57 -07:00
Mark Aaron Shirley
fdc5cc3d81 Fix model serializer nestesd delete behavior 2013-04-18 10:28:20 -07:00
forgingdestiny
03c736338f extend base login template 2013-04-17 10:15:02 -04:00
forgingdestiny
33f494fcc8 add branding and style blocks 2013-04-17 10:14:36 -04:00
Tom Christie
bcf4cb2b4e Merge branch 'include_reverse_relations' of https://github.com/tomchristie/django-rest-framework into include_reverse_relations 2013-04-17 09:26:34 +01:00
Tom Christie
ea55143a23 Version 2.2.7 2013-04-17 09:07:20 +01:00
Tom Christie
37fe0bf0de Remove unneccessary tests from #789, and bit of cleanup. 2013-04-17 09:03:24 +01:00
Tom Christie
700df90da1 Merge https://github.com/shezi/django-rest-framework 2013-04-17 08:51:36 +01:00
Mark Aaron Shirley
c7e000e46e Merge remote-tracking branch 'upstream/master' into writable-nested-modelserializer
Conflicts:
	docs/api-guide/serializers.md
2013-04-16 09:55:47 -07:00
Tom Christie
23289b023d Explicit error if dev does not return a response from the view 2013-04-16 14:32:46 +01:00
Stephan Groß
cac6697025 Return Decimal instance instead of string 2013-04-15 15:24:14 +02:00
Stephan Groß
9d80f01bce Fix init call 2013-04-15 15:15:55 +02:00
Stephan Groß
c329d2f085 Add DecimalField to field_mapping 2013-04-15 13:11:41 +02:00
Stephan Groß
37f7d8bc0f Fix unicodes 2013-04-15 13:02:18 +02:00
Stephan Groß
ad436d966f Add DecimalField support 2013-04-15 13:02:18 +02:00
Johannes Spielmann
750451f5b4 adding test case for generic view with overriden get_object() 2013-04-14 18:30:44 +02:00
Tom Christie
5a5a602f8a Allow overriding get_object to work correctly. Fixes #784 2013-04-13 20:07:36 +01:00
Tom Christie
e0020c5b03 Simplify get_object 2013-04-11 15:48:18 +01:00
Tom Christie
76e039d70e First pass on automatically including reverse relationship 2013-04-10 22:38:02 +01:00
Tom Christie
3f91379e4e Fix 1.3 compat issue. Closes #780 2013-04-10 09:24:24 +01:00
Tom Christie
07af437361 Cleaning up around bits of API that will be pending deprecation 2013-04-09 19:47:16 +01:00
Tom Christie
9bb1277e51 Cleaning up around bits of API that will be pending deprecation 2013-04-09 19:37:19 +01:00
Tom Christie
1de6cff11b Cleaning up get_object and get_queryset 2013-04-09 19:06:49 +01:00
Tom Christie
dc45bc7bfa Add lookup_kwarg 2013-04-09 19:01:01 +01:00
Tom Christie
099163f81f Removed SingleObjectMixin and MultipleObjectMixin 2013-04-09 18:45:15 +01:00
Tom Christie
c73d0e1e39 Minor cleaning up on View 2013-04-09 18:22:39 +01:00
Mark Aaron Shirley
73efa96de9 one-many writable nested modelserializer support 2013-04-06 08:43:21 -07:00
Tom Christie
371698331c Tweaks 2013-04-04 22:24:30 +01:00
Tom Christie
c2280e34ec Version 2.2.6 2013-04-04 21:53:15 +01:00
Tom Christie
fd3f538e9f Fix up view name/description tests 2013-04-04 21:48:23 +01:00
Tom Christie
f68721ade8 Factor view names/descriptions out of View class 2013-04-04 21:42:26 +01:00
Tom Christie
9e24db022c Commenting 2013-04-04 20:38:42 +01:00
Tom Christie
fb41d2ac8f Add support for action and link routing 2013-04-04 20:35:40 +01:00
Tom Christie
c785628300 Fleshing out viewsets/routers 2013-04-04 20:00:44 +01:00
glic3rinu
b6c7730d7f Fixed comma detection in break_long_headers templatetag 2013-04-04 14:01:47 +02:00
glic3rinu
92b5db5939 Added break_long_headers on templatetags and base template 2013-04-04 12:11:04 +02:00
Tom Christie
35b86ee52a Merge pull request #772 from preed/preed/ModelSerializer-bool-fix
Don't have the ModelSerializer trust deserialized objects to not have re...
2013-04-03 04:53:52 -07:00
Atle Frenvik Sveen
80d28de034 Fix the fact that InvalidConsumerError and InvalidTokenError wasn't imported correctly from oauth_provider 2013-04-03 13:10:41 +02:00
Tom Christie
a18d3df0f6 Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2013-04-03 09:21:04 +01:00
Tom Christie
74fbd5ccc5 Fix bug with inactive user accessing OAuth 2013-04-03 09:20:36 +01:00
J. Paul Reed
889558365b Don't have the ModelSerializer trust deserialized objects to not have redefine bool()ean-ness.
If the model we're using the ModelSerializer for has redefined methods that act as a boolean (__bool__ or __len__), it may not return the object even though it is_valid(), and should.
2013-04-02 01:41:40 -07:00
glic3rinu
76d1c47905 Fixed IPv6 support for urlize_quoted_links 2013-04-01 20:15:05 +02:00
Tom Christie
ec076a0078 Add viewsets/routers to indexs etc 2013-03-31 11:36:58 +01:00
Tom Christie
b4945f476c Merge branch 'master' into resources-routers 2013-03-30 15:41:38 +00:00
Tom Christie
a69262a1cd Merge pull request #767 from tomchristie/fix-oauth2-token-only
Fix OAuth 2 token only
2013-03-29 06:42:24 -07:00
Tom Christie
ff3ebd979d Merge pull request #766 from glic3rinu/master
Refactored urlize_quoted_links based on Dango 1.5 urlize
2013-03-29 06:40:23 -07:00
Kevin Stone
4531ded061 Removed pagination regression special case for Django<1.4. Having DjangoFilterBackend return an actual query set fixes this issue.
Signed-off-by: Kevin Stone <kevinastone@gmail.com>
2013-03-28 18:48:48 -07:00
glic3rinu
9c32f048b5 Cleaned imports on templatetags/rest_framework module 2013-03-28 12:01:47 +01:00
glic3rinu
3774ba3ed2 Added force_text to compat 2013-03-28 12:01:08 +01:00
Kevin Stone
d4df617f8c Added unit test for failing DjangoFilterBackend on SingleObjectMixin that was resolved in b10663e024
Signed-off-by: Kevin Stone <kevinastone@gmail.com>
2013-03-27 18:29:50 -07:00
Kevin Stone
b10663e024 Fixed DjangoFilterBackend not returning a query set.
Fixed bug unveiled in #682.

Signed-off-by: Kevin Stone <kevinastone@gmail.com>
2013-03-27 17:55:36 -07:00
Pierre Dulac
fa61b2b2f1 Remove oauth2-provider backends reference from compat.py 2013-03-28 01:05:51 +01:00
Pierre Dulac
8ec60a22e1 Remove client credentials from all OAuth 2 tests 2013-03-28 00:57:23 +01:00
Fernando Rocha
b2cea84fae Complete remove of client checks from oauth2
Signed-off-by: Fernando Rocha <fernandogrd@gmail.com>
2013-03-27 19:00:36 -03:00
glic3rinu
2c0363ddae Added quotes to TRAILING_PUNCTUATION used by urlize_quoted_links 2013-03-27 22:58:11 +01:00
glic3rinu
5f48b4a77e Refactored urlize_quoted_links code, now based on Django 1.5 urlize 2013-03-27 22:43:41 +01:00
Fernando Rocha
f1b8fee4f1 client credentials should be optional (fix #759)
client credentials should only be required on token
request

Signed-off-by: Fernando Rocha <fernandogrd@gmail.com>
2013-03-27 14:05:46 -03:00
Tom Christie
92c929094c Version 2.2.5 2013-03-26 07:48:53 +00:00
Tom Christie
7eefcf7e53 Bulk update, allow_add_remove flag 2013-03-25 20:26:34 +00:00
Tom Christie
d97e72cdb2 Cleanup one-one nested tests and implementation 2013-03-25 17:28:23 +00:00
Matteo Suppo
b5640bb778 Forcing translations of lazy translatable strings in Field to_native method 2013-03-23 14:18:55 +01:00
Matteo Suppo
0081d744b9 Added tests for issue 747 in serializer.py 2013-03-23 14:18:11 +01:00
Tom Christie
3f79a9a3d3 one-one writable nested modelserializers 2013-03-22 22:39:45 +00:00
Tom Christie
addf7e9b36 Defer the writable nested modelserializers work 2013-03-22 22:27:03 +00:00
Tom Christie
9bf7c9b714 Merge master 2013-03-22 21:57:37 +00:00
Tom Christie
870d5c7d78 Merge pull request #744 from tomchristie/basic-bulk-edit
Basic bulk create and bulk update
2013-03-22 14:47:29 -07:00
Tom Christie
4055129662 If oauth is not attempted don't throw an error. Fixes #748. 2013-03-22 21:31:50 +00:00
Tom Christie
13794baf70 Bit of extra tidying and plenty of docs 2013-03-22 17:01:06 +00:00
Tom Christie
b4210f9a56 Test moved out of serializer.py into serializer_bulk_update 2013-03-22 12:46:03 +00:00
Tom Christie
c32d9969ac Add extra tests for errors from incorrect data with multiple create/update 2013-03-22 12:33:09 +00:00
Tom Christie
8adde506e8 Default date/time fields now return python date/time objects again by default 2013-03-21 08:41:54 +00:00
Tom Christie
20fd738c85 iso formated datetime aware fields with +0000 offset should use 'Z' suffix instead 2013-03-20 13:05:59 +00:00
Tom Christie
b2dc664485 Basic bulk create and bulk update 2013-03-19 14:26:48 +00:00
Tom Christie
deb5e653e4 Added bulk create tests 2013-03-18 21:35:06 +00:00
Tom Christie
ad3ffe20f0 Merge branch 'master' into basic-nested-serialization 2013-03-18 21:12:05 +00:00
Tom Christie
09e4ee7ae3 Remove dumbass unneeded test 2013-03-18 21:11:40 +00:00
Tom Christie
922ee61d86 Remove erronous pre_save 2013-03-18 21:05:13 +00:00
Tom Christie
74fb366c59 Merge branch 'master' into resources-routers 2013-03-18 21:03:05 +00:00
Craig de Stigter
101fa26ebc use writablefield style for serializer handling of self.default 2013-03-18 16:05:34 +13:00
Craig de Stigter
d6d5b1d82a allow default values in writable serializer fields 2013-03-18 14:50:21 +13:00
Craig de Stigter
c8416df0c4 accept all WritableField kwargs for writable serializers (eg required=True) 2013-03-18 14:27:15 +13:00
Tom Christie
66bdd608e1 Fixes to save_object 2013-03-16 07:35:44 +00:00
Tom Christie
3ff103ad04 Fixes to save_object 2013-03-16 07:35:27 +00:00
Tom Christie
ccf551201f Clean up and comment restore_object 2013-03-16 07:32:50 +00:00
Tom Christie
56653111a6 Remove unneeded arguments to save_object 2013-03-15 19:57:57 +00:00
Tom Christie
32e0e5e18c Remove erronous _delete attribute 2013-03-15 19:55:32 +00:00
Tom Christie
47492e3ef4 Clean out ModelSerializer special casing from Serializer.field_from_native 2013-03-15 19:22:31 +00:00
Tom Christie
fb3b57803f one 2 one nested relationships 2013-03-15 19:17:54 +00:00
Mark Aaron Shirley
3006e3825f One-to-one writable, nested serializer support 2013-03-14 15:17:13 -07:00
Tom Christie
acc8c1faa4 force_insert, force_update arguments. Closes #484.
Confirmed by `assertNumQueries(…)` in tests.
2013-03-13 20:40:39 +00:00
Tom Christie
4b68089d44 Version 2.2.4 2013-03-13 13:07:46 +00:00
Tom Christie
76bf8db83a Merge branch 'master' of https://github.com/tomchristie/django-rest-framework 2013-03-13 12:48:27 +00:00
Tom Christie
73ab7dc3f1 Use django-filter 0.6a1 and add database query count tests for paginated, filtered lists. 2013-03-13 12:45:54 +00:00
Tom Christie
a798a5350a Fix duplicated database queries for paginated lists.
Closes #713.
2013-03-13 11:42:12 +00:00
Tom Christie
126cadf27e Merge branch 'num-query-checking' of https://github.com/mjtamlyn/django-rest-framework 2013-03-13 11:36:55 +00:00
Tom Christie
0cf94cbd8b Merge pull request #723 from mjumbewu/multitable-inheritance
Use parent's primary key when model is derived via multitable inheritance
2013-03-12 13:56:34 -07:00
Tom Christie
377dc2cda2 Only honor X-HTTP-Method-Override for POST requests. 2013-03-12 20:49:20 +00:00
Tom Christie
716d86863f Merge pull request #695 from kuhnza/master
Support for X-HTTP-Method-Override Header
2013-03-12 13:40:48 -07:00
Tom Christie
b6b686d285 Merge branch 'master' into basic-nested-serialization 2013-03-12 20:30:14 +00:00
Tom Christie
043d748b53 Tweak 2013-03-12 20:12:28 +00:00
Tom Christie
f513db714d Clean up TokenHasReadWriteScope slightly 2013-03-12 19:07:30 +00:00
Tom Christie
e8db504a98 Merge master 2013-03-12 18:49:38 +00:00
Tom Christie
2f1951910f Descriptive text for NestedValidationError 2013-03-12 18:35:20 +00:00
Tom Christie
d8c5dca9ae Extra tests for nested serializers 2013-03-12 18:34:52 +00:00
Tom Christie
6b4bb48dd4 Initial support for writable nested serialization (Not ModelSerializer) 2013-03-12 13:33:02 +00:00
Dave Kuhn
2e481f3318 Added test for X-HTTP-Method-Override header 2013-03-12 12:00:41 +11:00
Mjumbe Wawatu Ukweli
bd3fe75e1a Further group model inheritance tests 2013-03-11 17:32:32 -04:00
Mjumbe Wawatu Ukweli
354fbc64ba Group the model-inheritance-related tests together 2013-03-11 17:28:55 -04:00
Mjumbe Wawatu Ukweli
bdcecf48e3 Simplify inherited child check to not use isinstance 2013-03-11 16:01:19 -04:00
Mjumbe Wawatu Ukweli
e7e470739f Use parent's primary key when model is derived via multitable inheritance 2013-03-11 03:23:44 -04:00
Bouke Haarsma
126a0f739d Fixed #720 2013-03-10 21:02:34 +01:00
Bouke Haarsma
3cd3235881 Failing test to show problem of #720 2013-03-10 21:01:51 +01:00
Pierre Dulac
eec8efafc3 Add the implementation for TokenHasReadWriteScope permissions w/ oauth 1 2013-03-10 14:40:20 +01:00
Pierre Dulac
e03906a5c4 Add TokenHasReadWriteScope class for permissions based on scopes 2013-03-10 14:08:29 +01:00
Tom Christie
239758e034 Serializers support bulk create. 2013-03-09 10:21:53 +00:00
Tom Christie
69d169f5f6 Neater override hooks and more docs for DjangoModelPermissions.
Refs #702.
2013-03-08 23:42:20 +00:00
Tom Christie
fd9d6c664b Fix crazy typo. 2013-03-08 23:08:55 +00:00
Tom Christie
5e993f3929 Merge 2013-03-08 23:00:23 +00:00
Tom Christie
2596c12a21 Fixes for auth header checking. 2013-03-08 22:56:24 +00:00
Tom Christie
28ae26466e Py3k fixes. 2013-03-08 22:43:46 +00:00
Tom Christie
68683b2ea2 Tweak implementation, and use FormSet style errors 2013-03-08 22:19:09 +00:00
Tom Christie
53b58a5059 Merge branch 'master' of https://github.com/bitmonkey/django-rest-framework into list-deserialization 2013-03-08 21:20:52 +00:00
Tom Christie
c5b98f0d10 authtoken abstract if not installed.
Fixes #705.
2013-03-08 20:56:30 +00:00
Tom Christie
650d8e6a8e More bits of cleanup 2013-03-08 20:23:25 +00:00
Marc Tamlyn
332c99748f Add some simple numQueries tests. 2013-03-08 17:36:43 +00:00
Marc Tamlyn
a91dca178d Correcy typo. 2013-03-08 17:01:43 +00:00
toran billups
1a8f07def8 GenericAPIView now applies filter_backend for list and retrieve api views
Before this commit only the MultipleObjectAPIView would apply a
filter_backend, leaving the SingleObjectAPIView to return objects you
might otherwise expect to have been filtered out.

It's worth mentioning that when a SingleObjectAPIView makes a request
for an object that should be excluded, a 404 is the expected result.
2013-03-08 10:08:53 -06:00
Ian Dash
66605acaf0 Errors during deserializing lists now return a list of tuples with
index of bad item in data plus usual errors dict
2013-03-08 15:08:05 +00:00
Tom Christie
a4b33992a5 Merge OAuth2 work. 2013-03-07 17:43:13 +00:00
Tom Christie
1d62594fa9 Clean ups. 2013-03-07 15:44:36 +00:00
Tom Christie
44930f3091 Fix Py3k syntax errors 2013-03-07 09:15:05 +00:00
Tom Christie
4e80541824 Version 2.2.3 2013-03-07 09:05:13 +00:00
Tom Christie
ad336cc636 Fix broken None value for TimeField.
Refs #707.
2013-03-07 09:03:53 +00:00
Tom Christie
d4e3610e71 Merge & clean OAuth support 2013-03-07 09:01:53 +00:00
Kevin Stone
2f8d8b499e Patched DateField and DateTimeField to check for None values before trying to perform date(time) conversion.
Signed-off-by: Kevin Stone <kevinastone@gmail.com>
2013-03-06 15:16:37 -08:00
Kevin Stone
6bea275de8 Added failing test cases for giving a DateField or DateTimeField a None value to serialize.
Signed-off-by: Kevin Stone <kevinastone@gmail.com>
2013-03-06 15:15:19 -08:00
Pierre Dulac
8845c0be88 Fix import errors 2013-03-06 22:42:09 +01:00
Pierre Dulac
cda21a306e Only add the django-oauth2-provider apps if the module is installed
otherwise log a warning
2013-03-06 19:16:13 +01:00
Tom Christie
cdf7c778d8 Version 2.2.2 2013-03-06 12:29:56 +00:00
Tom Christie
1106596c80 Clean ups to datetime formatting 2013-03-06 12:19:39 +00:00
Tom Christie
c20ebe95f6 Merge datetime formats 2013-03-05 17:50:28 +00:00
Stephan Groß
214e201ff8 Update migration 2013-03-04 17:12:02 +01:00
Stephan Groß
27175c2cf5 Update migration 2013-03-04 17:04:55 +01:00
Stephan Groß
d6391359f5 Fix fix migrate authtoken 2013-03-04 14:04:03 +01:00
Stephan Groß
4cdb6b2959 Fix authtoken migration 2013-03-04 13:53:39 +01:00
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
Tom Christie
52ba2e3333 Fix #285 2012-10-08 12:52:56 +01:00
Tom Christie
f4d4d54e03 Adding migration and changelog docs 2012-10-08 12:17:43 +01:00
Tom Christie
0b08d25297 Merge branch 'restframework2' of https://github.com/tomchristie/django-rest-framework into restframework2 2012-10-05 19:26:45 +01:00
Tom Christie
33ac2fd959 Remove unused test file 2012-10-05 17:07:25 +01:00
Tom Christie
4e7fffa993 Merge pull request #284 from maximilianhurl/doc-styles
Added sticky footer and styles to HTML API page
2012-10-05 09:04:17 -07:00
Tom Christie
cc21948a69 Fix django 1.3 bug 2012-10-05 17:02:33 +01:00
Max Hurl
101f06b50b Added dabapps styling to html api 2012-10-05 17:00:24 +01:00
Tom Christie
2533c2452b Support PUT for create 2012-10-05 16:24:52 +01:00
Tom Christie
7218bcbade Add test for non-GET methods to api_view decorator 2012-10-05 15:55:45 +01:00
Tom Christie
2a89cb4fb7 Fix view_name argument to HyperlinkedIdentityField 2012-10-05 15:47:34 +01:00
Tom Christie
102e906840 Fix view_name argument to HyperlinkedIdentityField 2012-10-05 15:46:45 +01:00
Tom Christie
484ee8cc27 Add view_name argument to HyperlinkedIdentityField 2012-10-05 15:44:08 +01:00
Tom Christie
3e77090b21 Fix bug in format suffix patterns 2012-10-05 15:38:12 +01:00
Tom Christie
272fddc952 Fix bug in format suffix patterns 2012-10-05 15:37:50 +01:00
Tom Christie
9d8bce8f5b Remove Parser.can_handle_request() 2012-10-05 14:48:33 +01:00
Tom Christie
3e862c7737 Tweak view slightly 2012-10-05 14:22:02 +01:00
Tom Christie
2575ea92aa Docs for template responses 2012-10-05 13:04:34 +01:00
Tom Christie
26c7d6df6c HTMLTemplateRenderer working 2012-10-05 12:13:44 +01:00
Tom Christie
4af7fb96f7 Tidy up renderers slightly 2012-10-05 11:12:52 +01:00
Tom Christie
ed281be3fb User .accepted_renderer, .accepted_media_type 2012-10-05 10:33:44 +01:00
Tom Christie
d07dc77e91 Accepted media type uses most specific of client/renderer media types. 2012-10-05 10:23:47 +01:00
Tom Christie
693892ed01 Fix for field to make it easier to access field relationships 2012-10-04 22:07:24 +01:00
Tom Christie
cc0d2601b8 Minor fixes 2012-10-04 21:36:40 +01:00
Tom Christie
c91d926b06 Initial tests for hyperlinked relationships 2012-10-04 16:58:18 +01:00
Tom Christie
55e9cbecac Tweaks 2012-10-04 15:01:44 +01:00
Tom Christie
aac6b6cf4e Tweak comment 2012-10-04 15:00:23 +01:00
Tom Christie
eaebb397fa Make Import patterns 1.3 compatible 2012-10-04 13:58:28 +01:00
Tom Christie
3a06dde884 Clean up field classes 2012-10-04 13:28:14 +01:00
Tom Christie
d89d6887d2 HyperlinkedModelSerializer with working HyperlinkedIdentityField, but no hyperlinked relations 2012-10-04 11:26:41 +01:00
Tom Christie
d79e18963e Tests for default arguments on fields 2012-10-04 09:29:12 +01:00
Tom Christie
f8edfa2675 Abstract out the app_label on test models 2012-10-04 09:19:10 +01:00
Tom Christie
bcd2caf559 Abstract out the app_label on test models 2012-10-04 09:18:46 +01:00
Tom Christie
a02707e12f Tweaks 2012-10-03 21:08:32 +01:00
Tom Christie
92b091ea16 Tweak styling of browseable API 2012-10-03 16:19:07 +01:00
Tom Christie
a366d6e612 M2M fields supported 2012-10-03 16:08:20 +01:00
Tom Christie
09f2267601 Improve comments 2012-10-03 15:39:03 +01:00
Tom Christie
27c93c08d2 Fix for empty form fields 2012-10-03 12:56:01 +01:00
Tom Christie
f4ad77ac04 Fix for empty form fields 2012-10-03 12:55:53 +01:00
Tom Christie
58c1263267 Use either PrimaryKeyRelatedField or ManyPrimaryKeyRelatedField as appropriate (fixes test) 2012-10-03 12:16:30 +01:00
Tom Christie
cab3b2f3f8 Split out PrimaryKeyRelatedField and ManyPrimaryKeyRelatedField 2012-10-03 12:07:34 +01:00
Tom Christie
f1f7f5d4e3 Added failing test for m2m data 2012-10-03 11:50:08 +01:00
Tom Christie
89ec0b2750 Add m2m update test 2012-10-03 11:14:47 +01:00
Tom Christie
7c303411a9 Add Serializer.save() to clean up differences between serializer.object being either a DeserializedObject or a model instance 2012-10-03 11:08:02 +01:00
Tom Christie
36b58d0c78 Many2Many test 2012-10-03 10:51:38 +01:00
Tom Christie
d8b05201ed Merge branch 'restframework2' of https://github.com/tomchristie/django-rest-framework into restframework2 2012-10-03 09:46:12 +01:00
Tom Christie
1a05942166 Stopgap fix for model fields rendering in browseable API 2012-10-03 09:45:27 +01:00
Tom Christie
c30e0795be Rename generic views 2012-10-03 09:26:15 +01:00
Tom Christie
b89125ef53 Update view docs slightly 2012-10-02 21:26:15 +01:00
Tom Christie
d1b99f350a Added model form field -> serializer form field mapping 2012-10-02 16:16:49 +01:00
Tom Christie
f010a9553e Add test to ensure that pk is readonly in PUT requests 2012-10-02 15:39:41 +01:00
Tom Christie
ab173fd8f9 Fix bug where pk could be set in post data 2012-10-02 15:37:13 +01:00
Tom Christie
e7685f3eb5 URL overrides in settings fixed up slightly 2012-10-02 15:24:42 +01:00
Tom Christie
ae8a827004 Make 'results_field' attribute of BasePaginationSerializer public. 2012-10-02 10:40:43 +01:00
Tom Christie
b16fb57771 Expand pagination support, add docs 2012-10-01 15:49:19 +01:00
Tom Christie
6fa589fefd Pagination support 2012-09-30 17:31:28 +01:00
Tom Christie
43d3634e89 Docs tweaking 2012-09-30 15:55:24 +01:00
Tom Christie
616e6f5f4d Drop oauth tests for now - may pull same test module back in if end up using django-oauth-plus, but since we've not pulled it in right now... 2012-09-28 17:09:30 +01:00
Tom Christie
224bc027cd Add more tests for generic views 2012-09-28 16:41:35 +01:00
Tom Christie
0853316545 Add more tests for generic views 2012-09-28 16:23:46 +01:00
Tom Christie
6cf2874cf2 Clean up reverse tests 2012-09-28 16:09:52 +01:00
Tom Christie
c2bbe628e6 Fix coverage to not include migrations 2012-09-28 16:01:02 +01:00
Tom Christie
9f71f8e618 Fix broken bits of generic views 2012-09-28 15:54:00 +01:00
Tom Christie
4ebd701be7 Fix serialization issue with Django 1.3 2012-09-28 14:53:22 +01:00
Tom Christie
25cbff5fab Remove unused test file 2012-09-28 14:29:20 +01:00
Tom Christie
e003cc91b6 Get test-only models properly working 2012-09-28 14:28:50 +01:00
Tom Christie
84f7758039 Remove support for doctests 2012-09-28 11:53:51 +01:00
Tom Christie
62ccc1a306 Fix failing tests 2012-09-28 10:11:12 +01:00
Tom Christie
ee36e4ab0c Only display forms when user has permissions. #159 2012-09-27 21:51:46 +01:00
Tom Christie
284a700e09 head method on views for Django 1.3. Fixes #228 2012-09-27 13:34:28 +01:00
Tom Christie
d2583b809c Remove parse_qs from compat, now py2.5 support is dropped 2012-09-27 13:08:57 +01:00
Tom Christie
91b3fb0b05 Remove RequestFactory from compat (Now 1.2 is not supported) 2012-09-27 13:06:04 +01:00
Tom Christie
fe666a14ee Add test for request.POST 2012-09-27 12:50:18 +01:00
Tom Christie
3bae2867e9 Remove braindead test 2012-09-27 12:49:33 +01:00
Tom Christie
0cc7030aab Fix @api_view decorator tests 2012-09-26 21:47:19 +01:00
Tom Christie
622e001e0b Merge pull request #261 from j4mie/improved-view-decorators
First stab at new function-based view decorators
2012-09-26 13:10:01 -07:00
Jamie Matthews
686a034817 No need to use setattr 2012-09-26 20:18:57 +01:00
Tom Christie
d3e0ac864f Fix broken import 2012-09-26 21:15:24 +02:00
Jamie Matthews
c13c8fe5bc Update to new rest_framework package name, simplify implementation 2012-09-26 13:52:29 +01:00
Jamie Matthews
4be937a9b3 Merge branch 'restframework2' of git://github.com/tomchristie/django-rest-framework into improved-view-decorators
* 'restframework2' of git://github.com/tomchristie/django-rest-framework:
  Add missing comma
2012-09-26 13:09:39 +01:00
Tom Christie
ffe2c6d558 Add missing comma 2012-09-26 13:09:20 +01:00
Jamie Matthews
01770c53cd Merge branch 'restframework2' of git://github.com/tomchristie/django-rest-framework into improved-view-decorators
* 'restframework2' of git://github.com/tomchristie/django-rest-framework: (56 commits)
  Bits of cleanup
  Add request.QUERY_PARAMS
  Add readonly 'id' field
  Tweak browseable API
  Don't display readonly fields
  Fix some bits of serialization
  Add csrf note
  Fix incorrect bit of tutorial
  Added tox.ini
  Tweak media_type -> accepted_media_type.  Need to document, but marginally less confusing
  Tweak media_type -> accepted_media_type.  Need to document, but marginally less confusing
  Tweak media_type -> accepted_media_type.  Need to document, but marginally less confusing
  Clean up bits of templates etc
  Hack out bunch of unneccesary private methods on View class
  Clean up template tags
  Remove dumbass __all__ variables
  Remove old 'djangorestframework directories
  Change package name: djangorestframework -> rest_framework
  Dont strip final '/'
  Use get_script_prefix to play nicely if not installed at the root.
  ...

Conflicts:
	rest_framework/decorators.py
2012-09-26 13:05:21 +01:00
Tom Christie
09a445b257 Bits of cleanup 2012-09-26 12:40:11 +01:00
Tom Christie
728e92f06a Add request.QUERY_PARAMS 2012-09-26 12:39:39 +01:00
Tom Christie
758bcf5b1e Tweak browseable API 2012-09-25 13:35:41 +01:00
Tom Christie
b7b7ca5af9 Don't display readonly fields 2012-09-25 13:35:28 +01:00
Tom Christie
e0913e29b8 Fix some bits of serialization 2012-09-25 13:20:12 +01:00
Tom Christie
064e1ba91f Tweak media_type -> accepted_media_type. Need to document, but marginally less confusing 2012-09-21 13:16:08 +01:00
Tom Christie
3f7371c796 Tweak media_type -> accepted_media_type. Need to document, but marginally less confusing 2012-09-21 13:15:31 +01:00
Tom Christie
b4cd699b75 Tweak media_type -> accepted_media_type. Need to document, but marginally less confusing 2012-09-21 13:12:10 +01:00
Tom Christie
d9cba6398e Clean up bits of templates etc 2012-09-20 17:44:34 +01:00
Tom Christie
f4670c8996 Hack out bunch of unneccesary private methods on View class 2012-09-20 14:00:53 +01:00
Tom Christie
5a82aa9726 Clean up template tags 2012-09-20 13:42:46 +01:00
Tom Christie
7efc6e8205 Remove dumbass __all__ variables 2012-09-20 13:22:07 +01:00
Tom Christie
87dae4d854 Remove old 'djangorestframework directories 2012-09-20 13:19:43 +01:00
Tom Christie
4b691c4027 Change package name: djangorestframework -> rest_framework 2012-09-20 13:06:27 +01:00