Commit Graph

1301 Commits

Author SHA1 Message Date
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