Commit Graph

257 Commits

Author SHA1 Message Date
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
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
Tom Christie
9094f93d18 Sanitise JSON error messages 2012-10-11 11:21:50 +01: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