From dca24cd91488af62152b7e711cd6869b2d60c0ec Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Mon, 25 Mar 2013 16:44:36 +0000
Subject: Added @stoneg for typo fix #754. Thank you!
---
docs/topics/credits.md | 2 ++
1 file changed, 2 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index b533daa9..7dd9cd2c 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -112,6 +112,7 @@ The following people have helped make REST framework great.
* Bouke Haarsma - [bouke]
* Pierre Dulac - [dulaccc]
* Dave Kuhn - [kuhnza]
+* Sitong Peng - [stoneg]
Many thanks to everyone who's contributed to the project.
@@ -258,3 +259,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[bouke]: https://github.com/bouke
[dulaccc]: https://github.com/dulaccc
[kuhnza]: https://github.com/kuhnza
+[stoneg]: https://github.com/stoneg
--
cgit v1.2.3
From 92c929094c88125ea4a2fd359ec99d2b4114f081 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 26 Mar 2013 07:48:53 +0000
Subject: Version 2.2.5
---
docs/topics/release-notes.md | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index f506c610..e63aee49 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,8 +40,11 @@ You can determine your currently installed version using `pip freeze`:
## 2.2.x series
-### Master
+### 2.2.5
+**Date**: 26th March 2013
+
+* Serializer support for bulk create and bulk update operations.
* Regression fix: Date and time fields return date/time objects by default. Fixes regressions caused by 2.2.2. See [#743][743] for more details.
* Bugfix: Fix 500 error is OAuth not attempted with OAuthAuthentication class installed.
* `Serializer.save()` now supports arbitrary keyword args which are passed through to the object `.save()` method. Mixins use `force_insert` and `force_update` where appropriate, resulting in one less database query.
--
cgit v1.2.3
From fb105d138cdcb178ed08c6616c0c25f4a03fb2e1 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Thu, 28 Mar 2013 14:54:25 +0000
Subject: Minor tweak
---
docs/topics/contributing.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/contributing.md b/docs/topics/contributing.md
index a13f4461..1d1fe892 100644
--- a/docs/topics/contributing.md
+++ b/docs/topics/contributing.md
@@ -18,7 +18,7 @@ When answering questions make sure to help future contributors find their way ar
# Issues
-Usage questions should be directed to the [discussion group][google-group]. Feature requests, bug reports and other issues should be raised on the GitHub [issue tracker][issues].
+It's really helpful if you make sure you address issues to the correct channel. Usage questions should be directed to the [discussion group][google-group]. Feature requests, bug reports and other issues should be raised on the GitHub [issue tracker][issues].
Some tips on good issue reporting:
--
cgit v1.2.3
From 89f3c1f8c4cd8466cf8108b5ca042750c0064dfb Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Fri, 29 Mar 2013 13:44:50 +0000
Subject: Update release-notes.md
---
docs/topics/release-notes.md | 6 ++++++
1 file changed, 6 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index e63aee49..6551c1af 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,6 +40,12 @@ You can determine your currently installed version using `pip freeze`:
## 2.2.x series
+### Master
+
+* OAuth2 authentication no longer requires unneccessary URL parameters in addition to the token.
+* URL hyperlinking in browseable API no handles more cases correctly.
+* Bugfix: Fix regression with DjangoFilterBackend not worthing correctly with single object views.
+
### 2.2.5
**Date**: 26th March 2013
--
cgit v1.2.3
From 2e06f5c832479c8802f8bd8654fba5597ee228cc Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Fri, 29 Mar 2013 17:26:58 +0000
Subject: Fix typo
---
docs/topics/release-notes.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 6551c1af..62c31358 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -43,7 +43,7 @@ You can determine your currently installed version using `pip freeze`:
### Master
* OAuth2 authentication no longer requires unneccessary URL parameters in addition to the token.
-* URL hyperlinking in browseable API no handles more cases correctly.
+* URL hyperlinking in browseable API now handles more cases correctly.
* Bugfix: Fix regression with DjangoFilterBackend not worthing correctly with single object views.
### 2.2.5
--
cgit v1.2.3
From 7d7c03eb2464110c281ce35e5cc73f02c349068d Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Mon, 1 Apr 2013 17:09:36 +0200
Subject: Added @vshih for docs fixes in #769. Thanks!
---
docs/topics/credits.md | 2 ++
1 file changed, 2 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 7dd9cd2c..6edf347e 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -113,6 +113,7 @@ The following people have helped make REST framework great.
* Pierre Dulac - [dulaccc]
* Dave Kuhn - [kuhnza]
* Sitong Peng - [stoneg]
+* Victor Shih - [vshih]
Many thanks to everyone who's contributed to the project.
@@ -260,3 +261,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[dulaccc]: https://github.com/dulaccc
[kuhnza]: https://github.com/kuhnza
[stoneg]: https://github.com/stoneg
+[vshih]: https://github.com/vshih
--
cgit v1.2.3
From afd64dc51ab9cc7603d82b5cdfa7ceebc49e9766 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 3 Apr 2013 13:50:26 +0200
Subject: Added @atlefren for bugfix in #776
---
docs/topics/credits.md | 2 ++
1 file changed, 2 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 6edf347e..f6734f24 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -114,6 +114,7 @@ The following people have helped make REST framework great.
* Dave Kuhn - [kuhnza]
* Sitong Peng - [stoneg]
* Victor Shih - [vshih]
+* Atle Frenvik Sveen - [atlefren]
Many thanks to everyone who's contributed to the project.
@@ -262,3 +263,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[kuhnza]: https://github.com/kuhnza
[stoneg]: https://github.com/stoneg
[vshih]: https://github.com/vshih
+[atlefren]: https://github.com/atlefren
--
cgit v1.2.3
From c39ef12de013525141f4bf8702baf828c38eefd7 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 3 Apr 2013 13:53:18 +0200
Subject: Update release-notes.md
---
docs/topics/release-notes.md | 1 +
1 file changed, 1 insertion(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 62c31358..eb93bf78 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -45,6 +45,7 @@ You can determine your currently installed version using `pip freeze`:
* OAuth2 authentication no longer requires unneccessary URL parameters in addition to the token.
* URL hyperlinking in browseable API now handles more cases correctly.
* Bugfix: Fix regression with DjangoFilterBackend not worthing correctly with single object views.
+* Bugfix: OAuth should fail hard when invalid token used.
### 2.2.5
--
cgit v1.2.3
From cd94cfc44185c3f1eb9075df1cc6c5df6e6aa1ce Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 3 Apr 2013 13:55:58 +0200
Subject: Added @preed for bugfix #772. Thanks!
---
docs/topics/credits.md | 2 ++
1 file changed, 2 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index f6734f24..da49e521 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -115,6 +115,7 @@ The following people have helped make REST framework great.
* Sitong Peng - [stoneg]
* Victor Shih - [vshih]
* Atle Frenvik Sveen - [atlefren]
+* J. Paul Reed - [preed]
Many thanks to everyone who's contributed to the project.
@@ -264,3 +265,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[stoneg]: https://github.com/stoneg
[vshih]: https://github.com/vshih
[atlefren]: https://github.com/atlefren
+[preed]: https://github.com/preed
--
cgit v1.2.3
From df30b345b1166d5bb50a9d880fbbff90201372a4 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 3 Apr 2013 13:58:42 +0200
Subject: Update release-notes.md
---
docs/topics/release-notes.md | 1 +
1 file changed, 1 insertion(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index eb93bf78..7242dcce 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -46,6 +46,7 @@ You can determine your currently installed version using `pip freeze`:
* URL hyperlinking in browseable API now handles more cases correctly.
* Bugfix: Fix regression with DjangoFilterBackend not worthing correctly with single object views.
* Bugfix: OAuth should fail hard when invalid token used.
+* Bugfix: Fix serializer potentially returning `None` object for models that define `__bool__` or `__len__`.
### 2.2.5
--
cgit v1.2.3
From e8978eaf6873ac4c651322fd386d8103a9d02c1f Mon Sep 17 00:00:00 2001
From: glic3rinu
Date: Thu, 4 Apr 2013 14:02:20 +0200
Subject: Added break_long_headers on the release notes
---
docs/topics/release-notes.md | 1 +
1 file changed, 1 insertion(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 7242dcce..2a181cc5 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -44,6 +44,7 @@ You can determine your currently installed version using `pip freeze`:
* OAuth2 authentication no longer requires unneccessary URL parameters in addition to the token.
* URL hyperlinking in browseable API now handles more cases correctly.
+* Long HTTP headers are broken in multiple lines when possible in browsable API.
* Bugfix: Fix regression with DjangoFilterBackend not worthing correctly with single object views.
* Bugfix: OAuth should fail hard when invalid token used.
* Bugfix: Fix serializer potentially returning `None` object for models that define `__bool__` or `__len__`.
--
cgit v1.2.3
From 77ac2044294cb1dc40d715abd1bb63543beac95b Mon Sep 17 00:00:00 2001
From: glic3rinu
Date: Thu, 4 Apr 2013 14:07:56 +0200
Subject: Rephrased break_long_headers release notes line
---
docs/topics/release-notes.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 2a181cc5..609b4504 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -44,7 +44,7 @@ You can determine your currently installed version using `pip freeze`:
* OAuth2 authentication no longer requires unneccessary URL parameters in addition to the token.
* URL hyperlinking in browseable API now handles more cases correctly.
-* Long HTTP headers are broken in multiple lines when possible in browsable API.
+* Long HTTP headers in browsable API are broken in multiple lines when possible.
* Bugfix: Fix regression with DjangoFilterBackend not worthing correctly with single object views.
* Bugfix: OAuth should fail hard when invalid token used.
* Bugfix: Fix serializer potentially returning `None` object for models that define `__bool__` or `__len__`.
--
cgit v1.2.3
From c2280e34ece1867432c87a9654d31a708281b05a Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Thu, 4 Apr 2013 21:53:15 +0100
Subject: Version 2.2.6
---
docs/topics/release-notes.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 609b4504..d89bf80f 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,7 +40,9 @@ You can determine your currently installed version using `pip freeze`:
## 2.2.x series
-### Master
+### 2.2.6
+
+**Date**: 4th April 2013
* OAuth2 authentication no longer requires unneccessary URL parameters in addition to the token.
* URL hyperlinking in browseable API now handles more cases correctly.
--
cgit v1.2.3
From 1b5382c146c1de902cc83b11a66a5f9909149691 Mon Sep 17 00:00:00 2001
From: Stephan Groß
Date: Mon, 15 Apr 2013 12:40:18 +0200
Subject: Add DecimalField support
---
docs/topics/release-notes.md | 1 +
1 file changed, 1 insertion(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 609b4504..66022959 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -42,6 +42,7 @@ You can determine your currently installed version using `pip freeze`:
### Master
+* DecimalField support.
* OAuth2 authentication no longer requires unneccessary URL parameters in addition to the token.
* URL hyperlinking in browseable API now handles more cases correctly.
* Long HTTP headers in browsable API are broken in multiple lines when possible.
--
cgit v1.2.3
From ad436d966fa9ee2f5817aa5c26612c82558c4262 Mon Sep 17 00:00:00 2001
From: Stephan Groß
Date: Mon, 15 Apr 2013 12:40:18 +0200
Subject: Add DecimalField support
---
docs/topics/release-notes.md | 1 +
1 file changed, 1 insertion(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index d89bf80f..3ea167df 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -44,6 +44,7 @@ You can determine your currently installed version using `pip freeze`:
**Date**: 4th April 2013
+* DecimalField support.
* OAuth2 authentication no longer requires unneccessary URL parameters in addition to the token.
* URL hyperlinking in browseable API now handles more cases correctly.
* Long HTTP headers in browsable API are broken in multiple lines when possible.
--
cgit v1.2.3
From 15f40138593c9add014cfabd4c0cb27a896cad6c Mon Sep 17 00:00:00 2001
From: Stephan Groß
Date: Mon, 15 Apr 2013 13:06:22 +0200
Subject: Remove rebase docs
---
docs/topics/release-notes.md | 1 -
1 file changed, 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index fe65a777..68a1426a 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -48,7 +48,6 @@ You can determine your currently installed version using `pip freeze`:
**Date**: 4th April 2013
-* DecimalField support.
* OAuth2 authentication no longer requires unneccessary URL parameters in addition to the token.
* URL hyperlinking in browseable API now handles more cases correctly.
* Long HTTP headers in browsable API are broken in multiple lines when possible.
--
cgit v1.2.3
From 37fe0bf0de25d28d792a291d5a84987ab71c4cb6 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 17 Apr 2013 09:03:24 +0100
Subject: Remove unneccessary tests from #789, and bit of cleanup.
---
docs/topics/release-notes.md | 6 ++++++
1 file changed, 6 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index d89bf80f..66ede3a2 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,6 +40,12 @@ You can determine your currently installed version using `pip freeze`:
## 2.2.x series
+### Master
+
+* Loud failure when view does not return a `Response` or `HttpResponse`.
+* Bugfix: Fix for Django 1.3 compatiblity.
+* Bugfix: Allow overridden `get_object()` to work correctly.
+
### 2.2.6
**Date**: 4th April 2013
--
cgit v1.2.3
From ea55143a2308b396c8df6f59a0f6d663c1067163 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 17 Apr 2013 09:07:20 +0100
Subject: Version 2.2.7
---
docs/topics/release-notes.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 66ede3a2..5e0aa098 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,7 +40,9 @@ You can determine your currently installed version using `pip freeze`:
## 2.2.x series
-### Master
+### 2.2.7
+
+**Date**: 17th April 2013
* Loud failure when view does not return a `Response` or `HttpResponse`.
* Bugfix: Fix for Django 1.3 compatiblity.
--
cgit v1.2.3
From f7fdcd55e451e4a37c518e1916dc2be513edbab5 Mon Sep 17 00:00:00 2001
From: Matt Majewski
Date: Wed, 17 Apr 2013 12:27:48 -0300
Subject: Update browsable-api.md
Add login template docs---
docs/topics/browsable-api.md | 11 +++++++++++
1 file changed, 11 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/browsable-api.md b/docs/topics/browsable-api.md
index 5f80c4f9..8ee01824 100644
--- a/docs/topics/browsable-api.md
+++ b/docs/topics/browsable-api.md
@@ -60,6 +60,17 @@ All of the [Bootstrap components][bcomponents] are available.
The browsable API makes use of the Bootstrap tooltips component. Any element with the `js-tooltip` class and a `title` attribute has that title content displayed in a tooltip on hover after a 1000ms delay.
+### Login Template
+
+To add branding and customize the look-and-feel of the auth login template, create a template called `login.html` and add it to your project, eg: `templates/rest_framework/login.html`, that extends the `rest_framework/base_login.html` template.
+
+You can add your site name or branding by including the branding block:
+
+ {% block branding %}
+
My Site Name
+ {% endblock %}
+
+You can also customize the style by adding the `bootstrap_theme` or `style` block similar to `api.html`.
### Advanced Customization
--
cgit v1.2.3
From eb58596b89fcc083e5ad1d13b36006ae6ebbfafb Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 17 Apr 2013 23:17:08 +0200
Subject: Update release-notes.md
---
docs/topics/release-notes.md | 4 ++++
1 file changed, 4 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 5e0aa098..106e7cd5 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,6 +40,10 @@ You can determine your currently installed version using `pip freeze`:
## 2.2.x series
+### Master
+
+* Made Login template more easy to restyle.
+
### 2.2.7
**Date**: 17th April 2013
--
cgit v1.2.3
From eaac15294080e9cda1610168262f9da2fd088e73 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 17 Apr 2013 23:19:16 +0200
Subject: Added @forgingdestiny for login template work.
Thanks! (Refs: #794)---
docs/topics/credits.md | 3 +++
1 file changed, 3 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index da49e521..02e4dff8 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -116,6 +116,7 @@ The following people have helped make REST framework great.
* Victor Shih - [vshih]
* Atle Frenvik Sveen - [atlefren]
* J. Paul Reed - [preed]
+* Matt Majewski - [forgingdestiny]
Many thanks to everyone who's contributed to the project.
@@ -266,3 +267,5 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[vshih]: https://github.com/vshih
[atlefren]: https://github.com/atlefren
[preed]: https://github.com/preed
+[forgingdestiny]: https://github.com/forgingdestiny
+
--
cgit v1.2.3
From b94da2468cdda6b0ad491574d35097d0e336ea7f Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 24 Apr 2013 22:40:24 +0100
Subject: Various clean up and lots of docs
---
docs/topics/2.3-announcement.md | 149 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 149 insertions(+)
create mode 100644 docs/topics/2.3-announcement.md
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
new file mode 100644
index 00000000..e8e8c091
--- /dev/null
+++ b/docs/topics/2.3-announcement.md
@@ -0,0 +1,149 @@
+# REST framework 2.3 announcement
+
+REST framework 2.3 is geared towards making it easier and quicker to build your Web APIs.
+
+## ViewSets & Routers
+
+We've introduced
+
+## Easier Serializers
+
+REST framework lets you be totally explict regarding how you want to represent relationships, allowing you to choose between styles such as hyperlinking or primary key relationships.
+
+The ability to specify exactly how you want to represent relationships is powerful, but it also introduces complexity. In order to keep things more simple, REST framework now allows you to include reverse relationships simply by including the field name in the `fields` metadata of the serializer class.
+
+For example, in REST framework 2.2, reverse relationships needed to be included explicitly on a serializer class.
+
+ class BlogSerializer(serializers.ModelSerializer):
+ comments = serializers.PrimaryKeyRelatedField(many=True)
+
+ class Meta:
+ model = Blog
+ fields = ('id', 'title', 'created', 'comments')
+
+As of 2.3, you can simply include the field name, and the appropriate serializer field will automatically be used for the relationship.
+
+ class BlogSerializer(serializers.ModelSerializer):
+ """
+ Don't need to specify the 'comments' field explicitly anymore.
+ """
+ class Meta:
+ model = Blog
+ fields = ('id', 'title', 'created', 'comments')
+
+Similarly, you can now easily include the primary key in hyperlinked relationships, simply by adding the field name to the metadata.
+
+ class BlogSerializer(serializers.HyperlinkedModelSerializer):
+ """
+ This is a hyperlinked serializer, which default to using
+ a field named 'url' as the primary identifier.
+ Note that we can now easily also add in the 'id' field.
+ """
+ class Meta:
+ model = Blog
+ fields = ('url', 'id', 'title', 'created', 'comments')
+
+## Less complex views
+
+This release rationalises the API and implementation of the Generic views, dropping the dependancy on Django's `SingleObjectMixin` and `MultipleObjectMixin` classes, removing a number of unneeded attributes, and generally making the implementation more obvious and easy to work with.
+
+This improvement is reflected in improved documentation for the `GenericAPIView` base class, and should make it easier to determine how to override methods on the base class if you need to write customized subclasses.
+
+---
+
+## API Changes
+
+### Simplified generic view classes
+
+The functionality provided by `SingleObjectAPIView` and `MultipleObjectAPIView` base classes has now been moved into the base class `GenericAPIView`. The implementation of this base class is simple enough that providing subclasses for the base classes of detail and list views is somewhat unnecessary.
+
+Additionally the base generic view no longer inherits from Django's `SingleObjectMixin` or `MultipleObjectMixin` classes, simplifying the implementation, and meaning you don't need to cross-reference across to Django's codebase.
+
+Using the `SingleObjectAPIView` and `MultipleObjectAPIView` base classes continues to be supported, but will raise a `PendingDeprecationWarning`. You should instead simply use `GenericAPIView` as the base for any generic view subclasses.
+
+### Removed attributes
+
+The following attributes and methods, were previously present as part of Django's generic view implementations, but were unneeded and unusedand have now been entirely removed.
+
+* context_object_name
+* get_context_data()
+* get_context_object_name()
+
+The following attributes and methods, which were previously present as part of Django's generic view implementations have also been entirely removed.
+
+* paginator_class
+* get_paginator()
+* get_allow_empty()
+* get_slug_field()
+
+There may be cases when removing these bits of API might mean you need to write a little more code if your view has highly customized behavior, but generally we believe that providing a coarser-grained API will make the views easier to work with, and is the right trade-off to make for the vast majority of cases.
+
+Note that the listed attributes and methods have never been a documented part of the REST framework API, and as such are not covered by the deprecation policy.
+
+### Simplified methods
+
+The `get_object` and `get_paginate_by` methods no longer take an optional queryset argument. This makes overridden these methods more obvious, and a little more simple.
+
+Using an optional queryset with these methods continues to be supported, but will raise a `PendingDeprecationWarning`.
+
+### Deprecated attributes
+
+The following attributes are used to control queryset lookup, and have all been moved into a pending deprecation state.
+
+* pk_url_kwarg = 'pk'
+* slug_url_kwarg = 'slug'
+* slug_field = 'slug'
+
+Their usage is replaced with a single attribute:
+
+* lookup_field = 'pk'
+
+This attribute is used both as the regex keyword argument in the URL conf, and as the model field to filter against when looking up a model instance. To use non-pk based lookup, simply set the `lookup_field` argument to an alternative field, and ensure that the keyword argument in the url conf matches the field name.
+
+For example, a view with 'username' based lookup might look like this:
+
+ class UserDetail(generics.RetrieveAPIView):
+ lookup_field = 'username'
+ queryset = User.objects.all()
+ serializer_class = UserSerializer
+
+And would have the following entry in the urlconf:
+
+ url(r'^users/(?P\w+)/$', UserDetail.as_view()),
+
+
+Usage of the old-style attributes continues to be supported, but will raise a `PendingDeprecationWarning`.
+
+## Other notes
+
+### Explict view attributes
+
+The usage of `model` attribute in generic Views is still supported, but it's usage is being discouraged in favour of using explict `queryset` and `serializer_class` attributes.
+
+For example, the following is now the recommended style for using generic views:
+
+ class AccountListView(generics.RetrieveAPIView):
+ queryset = MyModel.objects.all()
+ serializer_class = MyModelSerializer
+
+Using explict `queryset` and `serializer_class` attributes makes the functioning of the view more clear than using the shortcut `model` attribute.
+
+It also makes it the usage of overridden `get_queryset()` or `get_serializer_class()` methods more obvious.
+
+ class AccountListView(generics.RetrieveAPIView):
+ serializer_class = MyModelSerializer
+
+ def get_queryset(self):
+ """
+ Determine the queryset dynamically, depending on the
+ user making the request.
+
+ Note that overriding this method follows on more obviously now
+ that an explicit `queryset` attribute is the usual view style.
+ """
+ return self.user.accounts
+
+### Django 1.3 support
+
+The 2.3 release series will be the last series to provide compatiblity with Django 1.3.
+
--
cgit v1.2.3
From b14b58498943c0a8f88c8ff931048bca4c90554b Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Thu, 25 Apr 2013 12:48:01 +0100
Subject: Remove 2.0 migration guide which was never included
---
docs/topics/migration.md | 89 ------------------------------------------------
1 file changed, 89 deletions(-)
delete mode 100644 docs/topics/migration.md
(limited to 'docs/topics')
diff --git a/docs/topics/migration.md b/docs/topics/migration.md
deleted file mode 100644
index 25fc9074..00000000
--- a/docs/topics/migration.md
+++ /dev/null
@@ -1,89 +0,0 @@
-# 2.0 Migration Guide
-
-> Move fast and break things
->
-> — Mark Zuckerberg, [the Hacker Way][cite].
-
-REST framework 2.0 introduces a radical redesign of the core components, and a large number of backwards breaking changes.
-
-### Serialization redesign.
-
-REST framework's serialization and deserialization previously used a slightly odd combination of serializers for output, and Django Forms and Model Forms for input. The serialization core has been completely redesigned based on work that was originally intended for Django core.
-
-2.0's form-like serializers comprehensively address those issues, and are a much more flexible and clean solution to the problems around accepting both form-based and non-form based inputs.
-
-### Generic views improved.
-
-When REST framework 0.1 was released the current Django version was 1.2. REST framework included a backport of the Django 1.3's upcoming `View` class, but it didn't take full advantage of the generic view implementations.
-
-As of 2.0 the generic views in REST framework tie in much more cleanly and obviously with Django's existing codebase, and the mixin architecture is radically simplified.
-
-### Cleaner request-response cycle.
-
-REST framework 2.0's request-response cycle is now much less complex.
-
-* Responses inherit from `SimpleTemplateResponse`, allowing rendering to be delegated to the response, not handled by the view.
-* Requests extend the regular `HttpRequest`, allowing authentication and parsing to be delegated to the request, not handled by the view.
-
-### Renamed attributes & classes.
-
-Various attributes and classes have been renamed in order to fit in better with Django's conventions.
-
-## Example: Blog Posts API
-
-Let's take a look at an example from the REST framework 0.4 documentation...
-
- from djangorestframework.resources import ModelResource
- from djangorestframework.reverse import reverse
- from blogpost.models import BlogPost, Comment
-
-
- class BlogPostResource(ModelResource):
- """
- A Blog Post has a *title* and *content*, and can be associated
- with zero or more comments.
- """
- model = BlogPost
- fields = ('created', 'title', 'slug', 'content', 'url', 'comments')
- ordering = ('-created',)
-
- def url(self, instance):
- return reverse('blog-post',
- kwargs={'key': instance.key},
- request=self.request)
-
- def comments(self, instance):
- return reverse('comments',
- kwargs={'blogpost': instance.key},
- request=self.request)
-
-
- class CommentResource(ModelResource):
- """
- A Comment is associated with a given Blog Post and has a
- *username* and *comment*, and optionally a *rating*.
- """
- model = Comment
- fields = ('username', 'comment', 'created', 'rating', 'url', 'blogpost')
- ordering = ('-created',)
-
- def blogpost(self, instance):
- return reverse('blog-post',
- kwargs={'key': instance.blogpost.key},
- request=self.request)
-
-There's a bit of a mix of concerns going on there. We've got some information about how the data should be serialized, such as the `fields` attribute, and some information about how it should be retrieved from the database - the `ordering` attribute.
-
-Let's start to re-write this for REST framework 2.0.
-
- from rest_framework import serializers
-
- class BlogPostSerializer(serializers.HyperlinkedModelSerializer):
- model = BlogPost
- fields = ('created', 'title', 'slug', 'content', 'url', 'comments')
-
- class CommentSerializer(serializers.HyperlinkedModelSerializer):
- model = Comment
- fields = ('username', 'comment', 'created', 'rating', 'url', 'blogpost')
-
-[cite]: http://www.wired.com/business/2012/02/zuck-letter/
--
cgit v1.2.3
From 9abaf77401573e932ba4770248c1e229a8bc25dd Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Thu, 25 Apr 2013 17:39:33 +0100
Subject: More viewset/router docs
---
docs/topics/2.3-announcement.md | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index e8e8c091..66875c82 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -86,6 +86,10 @@ The `get_object` and `get_paginate_by` methods no longer take an optional querys
Using an optional queryset with these methods continues to be supported, but will raise a `PendingDeprecationWarning`.
+The `paginate_queryset` method no longer takes a `page_size` argument, or returns a four-tuple of pagination information. Instead it simply takes a queryset argument, and either returns a `page` object with an appropraite page size, or returns `None`, if pagination is not configured for the view.
+
+Using the `page_size` argument is still supported and will trigger the old-style return type, but will raise a `PendingDeprecationWarning`.
+
### Deprecated attributes
The following attributes are used to control queryset lookup, and have all been moved into a pending deprecation state.
@@ -137,7 +141,7 @@ It also makes it the usage of overridden `get_queryset()` or `get_serializer_cla
"""
Determine the queryset dynamically, depending on the
user making the request.
-
+
Note that overriding this method follows on more obviously now
that an explicit `queryset` attribute is the usual view style.
"""
--
cgit v1.2.3
From 74b3307978d1316603a51082b8edd9a29d2016dd Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Thu, 25 Apr 2013 20:43:37 +0100
Subject: Docs, docs, docs
---
docs/topics/2.3-announcement.md | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index 66875c82..0b80f5e2 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -4,7 +4,7 @@ REST framework 2.3 is geared towards making it easier and quicker to build your
## ViewSets & Routers
-We've introduced
+**TODO**
## Easier Serializers
@@ -43,17 +43,17 @@ Similarly, you can now easily include the primary key in hyperlinked relationshi
model = Blog
fields = ('url', 'id', 'title', 'created', 'comments')
-## Less complex views
+## Simpler views
-This release rationalises the API and implementation of the Generic views, dropping the dependancy on Django's `SingleObjectMixin` and `MultipleObjectMixin` classes, removing a number of unneeded attributes, and generally making the implementation more obvious and easy to work with.
+This release rationalises the API and implementation of the generic views, dropping the dependancy on Django's `SingleObjectMixin` and `MultipleObjectMixin` classes, removing a number of unneeded attributes, and generally making the implementation more obvious and easy to work with.
This improvement is reflected in improved documentation for the `GenericAPIView` base class, and should make it easier to determine how to override methods on the base class if you need to write customized subclasses.
---
-## API Changes
+# API Changes
-### Simplified generic view classes
+## Simplified generic view classes
The functionality provided by `SingleObjectAPIView` and `MultipleObjectAPIView` base classes has now been moved into the base class `GenericAPIView`. The implementation of this base class is simple enough that providing subclasses for the base classes of detail and list views is somewhat unnecessary.
@@ -118,9 +118,11 @@ And would have the following entry in the urlconf:
Usage of the old-style attributes continues to be supported, but will raise a `PendingDeprecationWarning`.
-## Other notes
+---
+
+# Other notes
-### Explict view attributes
+## Explict view attributes
The usage of `model` attribute in generic Views is still supported, but it's usage is being discouraged in favour of using explict `queryset` and `serializer_class` attributes.
@@ -147,7 +149,10 @@ It also makes it the usage of overridden `get_queryset()` or `get_serializer_cla
"""
return self.user.accounts
-### Django 1.3 support
+## Django 1.3 support
The 2.3 release series will be the last series to provide compatiblity with Django 1.3.
+## What comes next?
+
+The plan for the next few months is to concentrate on addressing outstanding tickets. 2.4 is likely to deal with relatively small refinements to the existing API.
--
cgit v1.2.3
From 5d357a9b0807311b97de1e999be588f36fcd5b2f Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Mon, 29 Apr 2013 10:28:51 +0200
Subject: Added @chenjyw for depth bugfix #802. Thanks!
---
docs/topics/credits.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 02e4dff8..7b8a428e 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -117,6 +117,7 @@ The following people have helped make REST framework great.
* Atle Frenvik Sveen - [atlefren]
* J. Paul Reed - [preed]
* Matt Majewski - [forgingdestiny]
+* Jerome Chen - [chenjyw]
Many thanks to everyone who's contributed to the project.
@@ -268,4 +269,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[atlefren]: https://github.com/atlefren
[preed]: https://github.com/preed
[forgingdestiny]: https://github.com/forgingdestiny
-
+[chenjyw]: https://github.com/chenjyw
--
cgit v1.2.3
From 70831ad0bb62e88ef93e8c1815444ac709eb9883 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Mon, 29 Apr 2013 12:08:21 +0100
Subject: Docs tweaks
---
docs/topics/2.3-announcement.md | 8 ++++++++
1 file changed, 8 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index 554728ae..e1bcde05 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -124,6 +124,14 @@ Usage of the old-style attributes continues to be supported, but will raise a `P
For most cases APIs using model fields will behave as previously, however if you are using a custom renderer, not provided by REST framework, then you may now need to add support for rendering `Decimal` instances to your renderer implmentation.
+## View names and descriptions
+
+The mechanics of how view names and descriptions are generated from the docstring and classname has been modified and cleaned up somewhat.
+
+If you've been customizing this behavior, for example perhaps to use `rst` markup for the browseable API, then you'll need to take a look at the implementation to see what updates you need to make.
+
+Note that the relevant methods have always been private APIs, and the docstrings called them out as intended to be deprecated.
+
---
# Other notes
--
cgit v1.2.3
From 0c1ab584d3d0898d47e0bce6beb5d7c39a55dd52 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Mon, 29 Apr 2013 14:08:38 +0100
Subject: Tweaks for preferring .queryset over .model
---
docs/topics/2.3-announcement.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index e1bcde05..45095582 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -138,7 +138,7 @@ Note that the relevant methods have always been private APIs, and the docstrings
## Explict view attributes
-The usage of `model` attribute in generic Views is still supported, but it's usage is being discouraged in favour of using explict `queryset` and `serializer_class` attributes.
+The usage of `model` attribute in generic Views is still supported, but it's usage is being discouraged in favour of the more explict `queryset` attribute.
For example, the following is now the recommended style for using generic views:
@@ -146,9 +146,9 @@ For example, the following is now the recommended style for using generic views:
queryset = MyModel.objects.all()
serializer_class = MyModelSerializer
-Using explict `queryset` and `serializer_class` attributes makes the functioning of the view more clear than using the shortcut `model` attribute.
+Using an explict `queryset` attribute makes the functioning of the view more clear than using the shortcut `model` attribute.
-It also makes it the usage of overridden `get_queryset()` or `get_serializer_class()` methods more obvious.
+It also makes the usage of an overridden `get_queryset()` method more obvious.
class AccountListView(generics.RetrieveAPIView):
serializer_class = MyModelSerializer
--
cgit v1.2.3
From 81c3b4f250e389c29bdaa7da07c4860e2175136d Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Mon, 29 Apr 2013 17:32:32 +0100
Subject: Updated release notes
---
docs/topics/release-notes.md | 1 +
1 file changed, 1 insertion(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 8094cc4a..84d45a00 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -47,6 +47,7 @@ You can determine your currently installed version using `pip freeze`:
* HyperLinkedModelSerializers support 'id' field in 'fields' option.
* Cleaner generic views.
* DecimalField support.
+* Bugfix: Fix issue with depth>1 on ModelSerializer.
**Note**: See the [2.3 announcement][2.3-announcement] for full details.
--
cgit v1.2.3
From 21ae3a66917acf4ea57e8f7940ce1a6823a2ce92 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 30 Apr 2013 08:24:33 +0100
Subject: Drop out attribute
---
docs/topics/2.3-announcement.md | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index 45095582..5ed63f05 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -4,7 +4,6 @@ REST framework 2.3 is geared towards making it easier and quicker to build your
## ViewSets & Routers
-**TODO**
## Easier Serializers
@@ -132,13 +131,21 @@ If you've been customizing this behavior, for example perhaps to use `rst` marku
Note that the relevant methods have always been private APIs, and the docstrings called them out as intended to be deprecated.
+## ModelSerializers and reverse relationships
+
+The support for adding reverse relationships to the `fields` option on a `ModelSerializer` class means that the `get_related_field` and `get_nested_field` method signatures have now changed.
+
+In the unlikely event that you're providing a custom serializer class, and implementing these methods you should note the new call signature for both methods is now `(self, model_field, related_model, to_many)`. For revese relationships `model_field` will be `None`.
+
+The old-style signature will continue to function but will raise a `PendingDeprecationWarning`.
+
---
# Other notes
-## Explict view attributes
+## More explicit style
-The usage of `model` attribute in generic Views is still supported, but it's usage is being discouraged in favour of the more explict `queryset` attribute.
+The usage of `model` attribute in generic Views is still supported, but it's usage is being discouraged in favour of the setting the mode explict `queryset` and `serializer_class` attributes.
For example, the following is now the recommended style for using generic views:
@@ -146,9 +153,9 @@ For example, the following is now the recommended style for using generic views:
queryset = MyModel.objects.all()
serializer_class = MyModelSerializer
-Using an explict `queryset` attribute makes the functioning of the view more clear than using the shortcut `model` attribute.
+Using an explict `queryset` and `serializer_class` attributes makes the functioning of the view more clear than using the shortcut `model` attribute.
-It also makes the usage of an overridden `get_queryset()` method more obvious.
+It also makes the usage of the `get_queryset()` or `get_serializer_class()` methods more obvious.
class AccountListView(generics.RetrieveAPIView):
serializer_class = MyModelSerializer
@@ -167,6 +174,10 @@ It also makes the usage of an overridden `get_queryset()` method more obvious.
The 2.3 release series will be the last series to provide compatiblity with Django 1.3.
+## Version 2.2 API changes
+
+All API changes in 2.2 that previously raised `PendingDeprecationWarning` will now raise a `DeprecationWarning`, which is loud by default.
+
## What comes next?
The plan for the next few months is to concentrate on addressing outstanding tickets. 2.4 is likely to deal with relatively small refinements to the existing API.
--
cgit v1.2.3
From ddbbe7844bd454460082bd6b963150343333633b Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 1 May 2013 09:10:49 +0100
Subject: Document lookup_field in release notes
---
docs/topics/2.3-announcement.md | 12 ++++++++++++
1 file changed, 12 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index 5ed63f05..5ca1f109 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -117,6 +117,18 @@ And would have the following entry in the urlconf:
Usage of the old-style attributes continues to be supported, but will raise a `PendingDeprecationWarning`.
+## Simpler URL lookups
+
+The `lookup_field` argument also replaces the `pk_url_kwarg`, `slug_url_kwarg`, and `slug_field` arguments when creating `HyperlinkedRelatedField` instances.
+
+For example, you might have a field that references it's relationship by a hyperlink based on a slug field:
+
+ account = HyperlinkedRelatedField(read_only=True,
+ lookup_field='slug',
+ view_name='account-detail')
+
+Usage of the old-style attributes continues to be supported, but will raise a `PendingDeprecationWarning`.
+
## DecimalField
2.3 introduces a `DecimalField` serializer field, which returns `Decimal` instances.
--
cgit v1.2.3
From 8cabae22c5330da2e0a15a6d61ef038a6447756a Mon Sep 17 00:00:00 2001
From: Victor Shih
Date: Wed, 1 May 2013 21:26:40 -0700
Subject: Example and spelling fixes. Change "browseable" to "browsable" for
consistency.
---
docs/topics/release-notes.md | 12 ++++++------
docs/topics/rest-framework-2-announcement.md | 10 +++++-----
docs/topics/rest-hypermedia-hateoas.md | 2 +-
3 files changed, 12 insertions(+), 12 deletions(-)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 106e7cd5..5daaf57a 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -57,7 +57,7 @@ You can determine your currently installed version using `pip freeze`:
**Date**: 4th April 2013
* OAuth2 authentication no longer requires unneccessary URL parameters in addition to the token.
-* URL hyperlinking in browseable API now handles more cases correctly.
+* URL hyperlinking in browsable API now handles more cases correctly.
* Long HTTP headers in browsable API are broken in multiple lines when possible.
* Bugfix: Fix regression with DjangoFilterBackend not worthing correctly with single object views.
* Bugfix: OAuth should fail hard when invalid token used.
@@ -107,10 +107,10 @@ You can determine your currently installed version using `pip freeze`:
**Date**: 22nd Feb 2013
* Security fix: Use `defusedxml` package to address XML parsing vulnerabilities.
-* Raw data tab added to browseable API. (Eg. Allow for JSON input.)
+* Raw data tab added to browsable API. (Eg. Allow for JSON input.)
* Added TimeField.
* Serializer fields can be mapped to any method that takes no args, or only takes kwargs which have defaults.
-* Unicode support for view names/descriptions in browseable API.
+* Unicode support for view names/descriptions in browsable API.
* Bugfix: request.DATA should return an empty `QueryDict` with no data, not `None`.
* Bugfix: Remove unneeded field validation, which caused extra queries.
@@ -207,14 +207,14 @@ This change will not affect user code, so long as it's following the recommended
**Date**: 21st Dec 2012
* Bugfix: Fix bug that could occur using ChoiceField.
-* Bugfix: Fix exception in browseable API on DELETE.
+* Bugfix: Fix exception in browsable API on DELETE.
* Bugfix: Fix issue where pk was was being set to a string if set by URL kwarg.
### 2.1.11
**Date**: 17th Dec 2012
-* Bugfix: Fix issue with M2M fields in browseable API.
+* Bugfix: Fix issue with M2M fields in browsable API.
### 2.1.10
@@ -310,7 +310,7 @@ This change will not affect user code, so long as it's following the recommended
* Hyperlinked related fields optionally take `slug_field` and `slug_url_kwarg` arguments.
* Support Django's cache framework.
* Minor field improvements. (Don't stringify dicts, more robust many-pk fields.)
-* Bugfix: Support choice field in Browseable API.
+* Bugfix: Support choice field in Browsable API.
* Bugfix: Related fields with `read_only=True` do not require a `queryset` argument.
**API-incompatible changes**: Please read [this thread][2.1.0-notes] regarding the `instance` and `data` keyword args before updating to 2.1.0.
diff --git a/docs/topics/rest-framework-2-announcement.md b/docs/topics/rest-framework-2-announcement.md
index 885d1918..309548d0 100644
--- a/docs/topics/rest-framework-2-announcement.md
+++ b/docs/topics/rest-framework-2-announcement.md
@@ -62,19 +62,19 @@ REST framework 2 also allows you to work with both function-based and class-base
Pretty much every aspect of REST framework has been reworked, with the aim of ironing out some of the design flaws of the previous versions. Each of the components of REST framework are cleanly decoupled, and can be used independantly of each-other, and there are no monolithic resource classes, overcomplicated mixin combinations, or opinionated serialization or URL routing decisions.
-## The Browseable API
+## The Browsable API
Django REST framework's most unique feature is the way it is able to serve up both machine-readable representations, and a fully browsable HTML representation to the same endpoints.
-Browseable Web APIs are easier to work with, visualize and debug, and generally makes it easier and more frictionless to inspect and work with.
+Browsable Web APIs are easier to work with, visualize and debug, and generally makes it easier and more frictionless to inspect and work with.
-With REST framework 2, the browseable API gets a snazzy new bootstrap-based theme that looks great and is even nicer to work with.
+With REST framework 2, the browsable API gets a snazzy new bootstrap-based theme that looks great and is even nicer to work with.
There are also some functionality improvments - actions such as as `POST` and `DELETE` will only display if the user has the appropriate permissions.
-![Browseable API][image]
+![Browsable API][image]
-**Image above**: An example of the browseable API in REST framework 2
+**Image above**: An example of the browsable API in REST framework 2
## Documentation
diff --git a/docs/topics/rest-hypermedia-hateoas.md b/docs/topics/rest-hypermedia-hateoas.md
index 10ab9dfe..43e5a8c6 100644
--- a/docs/topics/rest-hypermedia-hateoas.md
+++ b/docs/topics/rest-hypermedia-hateoas.md
@@ -26,7 +26,7 @@ REST framework is an agnostic Web API toolkit. It does help guide you towards b
## What REST framework provides.
-It is self evident that REST framework makes it possible to build Hypermedia APIs. The browseable API that it offers is built on HTML - the hypermedia language of the web.
+It is self evident that REST framework makes it possible to build Hypermedia APIs. The browsable API that it offers is built on HTML - the hypermedia language of the web.
REST framework also includes [serialization] and [parser]/[renderer] components that make it easy to build appropriate media types, [hyperlinked relations][fields] for building well-connected systems, and great support for [content negotiation][conneg].
--
cgit v1.2.3
From 2d44dc3f5490e93147ecedbd33b03f41a598b43a Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Thu, 2 May 2013 12:46:10 +0100
Subject: Update release notes
---
docs/topics/2.3-announcement.md | 82 +++++++++++++++++++++++++++++++----------
1 file changed, 62 insertions(+), 20 deletions(-)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index 5ca1f109..c465b774 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -1,9 +1,53 @@
# REST framework 2.3 announcement
-REST framework 2.3 is geared towards making it easier and quicker to build your Web APIs.
+REST framework 2.3 makes it even quicker and easier to build your Web APIs.
-## ViewSets & Routers
+## ViewSets and Routers
+The 2.3 release introduces the [ViewSet][viewset] and [Router][router] classes.
+
+A viewset is simply a type of class based view that allows you to group multiple views into a single common class.
+
+Routers allow you to automatically determine the URLconf for your viewset classes.
+
+As an example of just how simple REST framework APIs can now be, here's an API written in a single `urls.py` module:
+
+ """
+ A REST framework API for viewing and editing users and groups.
+ """
+ from django.conf.urls.defaults import url, patterns, include
+ from django.contrib.auth.models import User, Group
+ from rest_framework import viewsets, routers
+
+
+ # ViewSets define the view behavior.
+ class UserViewSet(viewsets.ModelViewSet):
+ model = User
+
+ class GroupViewSet(viewsets.ModelViewSet):
+ model = Group
+
+
+ # Routers provide an easy way of automatically determining the URL conf
+ router = routers.DefaultRouter()
+ router.register(r'users', views.UserViewSet)
+ router.register(r'groups', views.GroupViewSet)
+
+
+ # Wire up our API using automatic URL routing.
+ # Additionally, we include login URLs for the browseable API.
+ urlpatterns = patterns('',
+ url(r'^', include(router.urls)),
+ url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
+ )
+
+The best place to get started with ViewSets and Routers is to take a look at the [newest section in the tutorial][part-6], which demonstrates their usage.
+
+## Simpler views
+
+This release rationalises the API and implementation of the generic views, dropping the dependancy on Django's `SingleObjectMixin` and `MultipleObjectMixin` classes, removing a number of unneeded attributes, and generally making the implementation more obvious and easy to work with.
+
+This improvement is reflected in improved documentation for the `GenericAPIView` base class, and should make it easier to determine how to override methods on the base class if you need to write customized subclasses.
## Easier Serializers
@@ -42,12 +86,6 @@ Similarly, you can now easily include the primary key in hyperlinked relationshi
model = Blog
fields = ('url', 'id', 'title', 'created', 'comments')
-## Simpler views
-
-This release rationalises the API and implementation of the generic views, dropping the dependancy on Django's `SingleObjectMixin` and `MultipleObjectMixin` classes, removing a number of unneeded attributes, and generally making the implementation more obvious and easy to work with.
-
-This improvement is reflected in improved documentation for the `GenericAPIView` base class, and should make it easier to determine how to override methods on the base class if you need to write customized subclasses.
-
---
# API Changes
@@ -119,7 +157,7 @@ Usage of the old-style attributes continues to be supported, but will raise a `P
## Simpler URL lookups
-The `lookup_field` argument also replaces the `pk_url_kwarg`, `slug_url_kwarg`, and `slug_field` arguments when creating `HyperlinkedRelatedField` instances.
+The `HyperlinkedRelatedField` class now takes a single optional `lookup_field` argument, that replaces the `pk_url_kwarg`, `slug_url_kwarg`, and `slug_field` arguments.
For example, you might have a field that references it's relationship by a hyperlink based on a slug field:
@@ -135,14 +173,6 @@ Usage of the old-style attributes continues to be supported, but will raise a `P
For most cases APIs using model fields will behave as previously, however if you are using a custom renderer, not provided by REST framework, then you may now need to add support for rendering `Decimal` instances to your renderer implmentation.
-## View names and descriptions
-
-The mechanics of how view names and descriptions are generated from the docstring and classname has been modified and cleaned up somewhat.
-
-If you've been customizing this behavior, for example perhaps to use `rst` markup for the browseable API, then you'll need to take a look at the implementation to see what updates you need to make.
-
-Note that the relevant methods have always been private APIs, and the docstrings called them out as intended to be deprecated.
-
## ModelSerializers and reverse relationships
The support for adding reverse relationships to the `fields` option on a `ModelSerializer` class means that the `get_related_field` and `get_nested_field` method signatures have now changed.
@@ -151,13 +181,21 @@ In the unlikely event that you're providing a custom serializer class, and imple
The old-style signature will continue to function but will raise a `PendingDeprecationWarning`.
+## View names and descriptions
+
+The mechanics of how the names and descriptions used in the browseable API are generated has been modified and cleaned up somewhat.
+
+If you've been customizing this behavior, for example perhaps to use `rst` markup for the browseable API, then you'll need to take a look at the implementation to see what updates you need to make.
+
+Note that the relevant methods have always been private APIs, and the docstrings called them out as intended to be deprecated.
+
---
# Other notes
## More explicit style
-The usage of `model` attribute in generic Views is still supported, but it's usage is being discouraged in favour of the setting the mode explict `queryset` and `serializer_class` attributes.
+The usage of `model` attribute in generic Views is still supported, but it's usage is generally being discouraged throughout the documentation, in favour of the setting the more explict `queryset` and `serializer_class` attributes.
For example, the following is now the recommended style for using generic views:
@@ -184,7 +222,7 @@ It also makes the usage of the `get_queryset()` or `get_serializer_class()` meth
## Django 1.3 support
-The 2.3 release series will be the last series to provide compatiblity with Django 1.3.
+The 2.3.x release series will be the last series to provide compatiblity with Django 1.3.
## Version 2.2 API changes
@@ -192,4 +230,8 @@ All API changes in 2.2 that previously raised `PendingDeprecationWarning` will n
## What comes next?
-The plan for the next few months is to concentrate on addressing outstanding tickets. 2.4 is likely to deal with relatively small refinements to the existing API.
+The next few months should see a renewed focus on addressing outstanding tickets. The 2.4 release is currently planned for around August-September.
+
+[viewset]: ../api-guide/viewsets.md
+[router]: ../api-guide/routers.md
+[part-6]: ../tutorial/6-viewsets-and-routers.md
--
cgit v1.2.3
From d71a5533f9a8787652244dfb16af37fb7d9059fb Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 7 May 2013 12:25:41 +0100
Subject: allow_empty -> pending deprecation in preference of overridden
get_queryset.
---
docs/topics/2.3-announcement.md | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index c465b774..62fa5b9c 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -152,9 +152,21 @@ And would have the following entry in the urlconf:
url(r'^users/(?P\w+)/$', UserDetail.as_view()),
-
Usage of the old-style attributes continues to be supported, but will raise a `PendingDeprecationWarning`.
+The `allow_empty` attribute is also deprecated. To use `allow_empty=False` style behavior you should explicitly override `get_queryset` and raise an `Http404` on empty querysets.
+
+For example:
+
+ class DisallowEmptyQuerysetMixin(object):
+ def get_queryset(self):
+ queryset = super(DisallowEmptyQuerysetMixin, self).get_queryset()
+ if not queryset.exists():
+ raise Http404
+ return queryset
+
+In our opinion removing lesser-used attributes like `allow_empty` helps us move towards simpler generic view implementations, making them more obvious to use and override, and re-inforcing the preferred style of developers writing their own base classes and mixins for custom behavior rather than relying on the configurability of the generic views.
+
## Simpler URL lookups
The `HyperlinkedRelatedField` class now takes a single optional `lookup_field` argument, that replaces the `pk_url_kwarg`, `slug_url_kwarg`, and `slug_field` arguments.
--
cgit v1.2.3
From 3c2bb0666063917707bfbfedf056e5692bfcc471 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 7 May 2013 13:00:44 +0100
Subject: Support for multiple filter classes
---
docs/topics/2.3-announcement.md | 8 ++++++++
docs/topics/release-notes.md | 1 +
2 files changed, 9 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index 62fa5b9c..df1137bc 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -86,6 +86,14 @@ Similarly, you can now easily include the primary key in hyperlinked relationshi
model = Blog
fields = ('url', 'id', 'title', 'created', 'comments')
+## More flexible filtering
+
+The `FILTER_BACKEND` setting has moved to pending deprecation, in favor of a `DEFAULT_FILTER_BACKENDS` setting that takes a *list* of filter backend classes, instead of a single filter backend class.
+
+The generic view `filter_backend` attribute has also been moved to pending deprecation in favor of a `filter_backends` setting.
+
+Being able to specify multiple filters will allow for more flexible, powerful behavior. New filter classes to handle searching and ordering of results are planned to be released shortly.
+
---
# API Changes
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index a4febd2c..1081ea4f 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -46,6 +46,7 @@ You can determine your currently installed version using `pip freeze`:
* ModelSerializers support reverse relations in 'fields' option.
* HyperLinkedModelSerializers support 'id' field in 'fields' option.
* Cleaner generic views.
+* Support for multiple filter classes.
* DecimalField support.
* Bugfix: Fix issue with depth>1 on ModelSerializer.
--
cgit v1.2.3
From 0f00da848d9a8d25a0049231e9794da71a96662b Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 7 May 2013 13:07:42 +0100
Subject: Tweak 2.3 release notes
---
docs/topics/2.3-announcement.md | 3 +++
1 file changed, 3 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index df1137bc..746d3ff7 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -250,6 +250,9 @@ All API changes in 2.2 that previously raised `PendingDeprecationWarning` will n
## What comes next?
+* Support for read-write nested serializers is almost complete, and due to be released in the next few weeks.
+* Extra filter backends for searching and ordering of results are planned to be added shortly.
+
The next few months should see a renewed focus on addressing outstanding tickets. The 2.4 release is currently planned for around August-September.
[viewset]: ../api-guide/viewsets.md
--
cgit v1.2.3
From 3353889ae85cc21890469cf00f7073d1ea5c2070 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 7 May 2013 13:27:27 +0100
Subject: Docs for FileUploadParser
---
docs/topics/2.3-announcement.md | 4 ++++
docs/topics/release-notes.md | 1 +
2 files changed, 5 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index 746d3ff7..6677c800 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -187,6 +187,10 @@ For example, you might have a field that references it's relationship by a hyper
Usage of the old-style attributes continues to be supported, but will raise a `PendingDeprecationWarning`.
+## FileUploadParser
+
+2.3 adds a `FileUploadParser` parser class, that supports raw file uploads, in addition to the existing multipart upload support.
+
## DecimalField
2.3 introduces a `DecimalField` serializer field, which returns `Decimal` instances.
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 1081ea4f..d77bebb0 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -47,6 +47,7 @@ You can determine your currently installed version using `pip freeze`:
* HyperLinkedModelSerializers support 'id' field in 'fields' option.
* Cleaner generic views.
* Support for multiple filter classes.
+* FileUploadParser support for raw file uploads.
* DecimalField support.
* Bugfix: Fix issue with depth>1 on ModelSerializer.
--
cgit v1.2.3
From ed2cf180c961bb337c5d3ab7e5f74a1539c33ae4 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 7 May 2013 13:29:38 +0100
Subject: Version 2.3.0
---
docs/topics/release-notes.md | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index d77bebb0..56ee926c 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -42,6 +42,8 @@ You can determine your currently installed version using `pip freeze`:
### 2.3.0
+**Date**: 7th May 2013
+
* ViewSets and Routers.
* ModelSerializers support reverse relations in 'fields' option.
* HyperLinkedModelSerializers support 'id' field in 'fields' option.
@@ -49,6 +51,7 @@ You can determine your currently installed version using `pip freeze`:
* Support for multiple filter classes.
* FileUploadParser support for raw file uploads.
* DecimalField support.
+* Made Login template easier to restyle.
* Bugfix: Fix issue with depth>1 on ModelSerializer.
**Note**: See the [2.3 announcement][2.3-announcement] for full details.
@@ -57,10 +60,6 @@ You can determine your currently installed version using `pip freeze`:
## 2.2.x series
-### Master
-
-* Made Login template more easy to restyle.
-
### 2.2.7
**Date**: 17th April 2013
--
cgit v1.2.3
From d7c08222f14389b4d61e5ca9032c49b8b917d251 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 7 May 2013 14:11:48 +0100
Subject: Fix breadcrumb rendering issue
---
docs/topics/release-notes.md | 6 ++++++
1 file changed, 6 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 56ee926c..14732a0d 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,6 +40,12 @@ You can determine your currently installed version using `pip freeze`:
## 2.3.x series
+### 2.3.1
+
+**Date**: 7th May 2013
+
+* Bugfix: Fix breadcrumb rendering issue.
+
### 2.3.0
**Date**: 7th May 2013
--
cgit v1.2.3
From a758066c0388d704914b507613fcc20de8e9900f Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 7 May 2013 17:25:51 +0100
Subject: Added @eyepulp for fix #810
---
docs/topics/credits.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 7b8a428e..7c5ab0a2 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -115,9 +115,10 @@ The following people have helped make REST framework great.
* Sitong Peng - [stoneg]
* Victor Shih - [vshih]
* Atle Frenvik Sveen - [atlefren]
-* J. Paul Reed - [preed]
+* J Paul Reed - [preed]
* Matt Majewski - [forgingdestiny]
* Jerome Chen - [chenjyw]
+* Andrew Hughes - [eyepulp]
Many thanks to everyone who's contributed to the project.
@@ -270,3 +271,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[preed]: https://github.com/preed
[forgingdestiny]: https://github.com/forgingdestiny
[chenjyw]: https://github.com/chenjyw
+[eyepulp]: https://github.com/eyepulp
--
cgit v1.2.3
From 42ba5b425bdefe1dc7cdebf7ae8e117c39b5a152 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 8 May 2013 10:02:52 +0200
Subject: Added @dhepper for typo fixes in #812.
---
docs/topics/credits.md | 2 ++
1 file changed, 2 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 7c5ab0a2..c19ce7be 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -119,6 +119,7 @@ The following people have helped make REST framework great.
* Matt Majewski - [forgingdestiny]
* Jerome Chen - [chenjyw]
* Andrew Hughes - [eyepulp]
+* Daniel Hepper - [dhepper]
Many thanks to everyone who's contributed to the project.
@@ -272,3 +273,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[forgingdestiny]: https://github.com/forgingdestiny
[chenjyw]: https://github.com/chenjyw
[eyepulp]: https://github.com/eyepulp
+[dhepper]: https://github.com/dhepper
--
cgit v1.2.3
From 2379014f15505ba991507661ee413e9a605e6687 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 8 May 2013 20:08:35 +0100
Subject: Add rails in credits section
---
docs/topics/credits.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 7c5ab0a2..b998f9bd 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -132,7 +132,7 @@ Continuous integration testing is managed with [Travis CI][travis-ci].
The [live sandbox][sandbox] is hosted on [Heroku].
-Various inspiration taken from the [Piston], [Tastypie] and [Dagny] projects.
+Various inspiration taken from the [Rails], [Piston], [Tastypie] and [Dagny] projects.
Development of REST framework 2.0 was sponsored by [DabApps].
@@ -147,6 +147,7 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[markdown]: http://daringfireball.net/projects/markdown/
[github]: https://github.com/tomchristie/django-rest-framework
[travis-ci]: https://secure.travis-ci.org/tomchristie/django-rest-framework
+[rails]: http://rubyonrails.org/
[piston]: https://bitbucket.org/jespern/django-piston
[tastypie]: https://github.com/toastdriven/django-tastypie
[dagny]: https://github.com/zacharyvoase/dagny
--
cgit v1.2.3
From 4ab7b8f257f9d3a1b35d34d0f90f0103b0cc6369 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Wed, 8 May 2013 20:49:49 +0100
Subject: Version 2.3.2
---
docs/topics/release-notes.md | 7 +++++++
1 file changed, 7 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 14732a0d..259aafdd 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,6 +40,13 @@ You can determine your currently installed version using `pip freeze`:
## 2.3.x series
+### 2.3.2
+
+**Date**: 8th May 2013
+
+* Bugfix: Fix `TIME_FORMAT`, `DATETIME_FORMAT` and `DATE_FORMAT` settings.
+* Bugfix: Fix `DjangoFilterBackend` issue, failing when used on view with queryset attribute.
+
### 2.3.1
**Date**: 7th May 2013
--
cgit v1.2.3
From 2e3032ff8cf1fe172e5ac38dc4320f1191fba340 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Fri, 10 May 2013 14:14:42 +0200
Subject: Added @hamishcampbell for docs fix #818. Thanks!
---
docs/topics/credits.md | 2 ++
1 file changed, 2 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 13f673c9..9871c64e 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -120,6 +120,7 @@ The following people have helped make REST framework great.
* Jerome Chen - [chenjyw]
* Andrew Hughes - [eyepulp]
* Daniel Hepper - [dhepper]
+* Hamish Campbell - [hamishcampbell]
Many thanks to everyone who's contributed to the project.
@@ -275,3 +276,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[chenjyw]: https://github.com/chenjyw
[eyepulp]: https://github.com/eyepulp
[dhepper]: https://github.com/dhepper
+[hamishcampbell]: https://github.com/hamishcampbell
--
cgit v1.2.3
From fd84cf7f10bf703c5daae4a5f6a7dee0c22471dd Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Fri, 10 May 2013 21:56:33 +0100
Subject: Docs tweaks
---
docs/topics/2.3-announcement.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'docs/topics')
diff --git a/docs/topics/2.3-announcement.md b/docs/topics/2.3-announcement.md
index 6677c800..4df9c819 100644
--- a/docs/topics/2.3-announcement.md
+++ b/docs/topics/2.3-announcement.md
@@ -30,8 +30,8 @@ As an example of just how simple REST framework APIs can now be, here's an API w
# Routers provide an easy way of automatically determining the URL conf
router = routers.DefaultRouter()
- router.register(r'users', views.UserViewSet)
- router.register(r'groups', views.GroupViewSet)
+ router.register(r'users', UserViewSet)
+ router.register(r'groups', GroupViewSet)
# Wire up our API using automatic URL routing.
--
cgit v1.2.3
From 1154d873e956e89b1b994c3ac803d90cbfcedf59 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Mon, 13 May 2013 13:35:16 +0200
Subject: Added django-viewsets to credits. Refs #738.
---
docs/topics/credits.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 9871c64e..4eb78d30 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -134,7 +134,7 @@ Continuous integration testing is managed with [Travis CI][travis-ci].
The [live sandbox][sandbox] is hosted on [Heroku].
-Various inspiration taken from the [Rails], [Piston], [Tastypie] and [Dagny] projects.
+Various inspiration taken from the [Rails], [Piston], [Tastypie], [Dagny] and [django-viewsets] projects.
Development of REST framework 2.0 was sponsored by [DabApps].
@@ -153,6 +153,7 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[piston]: https://bitbucket.org/jespern/django-piston
[tastypie]: https://github.com/toastdriven/django-tastypie
[dagny]: https://github.com/zacharyvoase/dagny
+[django-viewsets]: https://github.com/BertrandBordage/django-viewsets
[dabapps]: http://lab.dabapps.com
[sandbox]: http://restframework.herokuapp.com/
[heroku]: http://www.heroku.com/
--
cgit v1.2.3
From f9aeb6838379c301ebd2019a49b806c13749261a Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 14 May 2013 09:59:29 +0100
Subject: Updated release notes
---
docs/topics/release-notes.md | 5 +++++
1 file changed, 5 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 259aafdd..7ec3d79a 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,6 +40,11 @@ You can determine your currently installed version using `pip freeze`:
## 2.3.x series
+### Master
+
+* Added SearchFilter
+* Added GenericViewSet
+
### 2.3.2
**Date**: 8th May 2013
--
cgit v1.2.3
From 727a64f3b91cbb4b86b9a7e1ecb94b964046b155 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 14 May 2013 11:38:55 +0100
Subject: Updated release notes
---
docs/topics/release-notes.md | 2 ++
1 file changed, 2 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 7ec3d79a..5777b82d 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -43,7 +43,9 @@ You can determine your currently installed version using `pip freeze`:
### Master
* Added SearchFilter
+* Added OrderingFilter
* Added GenericViewSet
+* Bugfix: Multiple `@action` and `@link` methods now allowed on viewsets.
### 2.3.2
--
cgit v1.2.3
From 6487fa535b6399920a4a6bc2aba306a8cae8c81c Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 14 May 2013 11:39:30 +0100
Subject: Added @avinash240 for bugfix #822
---
docs/topics/credits.md | 2 ++
1 file changed, 2 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 9871c64e..63132604 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -121,6 +121,7 @@ The following people have helped make REST framework great.
* Andrew Hughes - [eyepulp]
* Daniel Hepper - [dhepper]
* Hamish Campbell - [hamishcampbell]
+* Marlon Bailey - [avinash240]
Many thanks to everyone who's contributed to the project.
@@ -277,3 +278,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[eyepulp]: https://github.com/eyepulp
[dhepper]: https://github.com/dhepper
[hamishcampbell]: https://github.com/hamishcampbell
+[avinash240]: https://github.com/avinash240
\ No newline at end of file
--
cgit v1.2.3
From 599c0eb0db1efc194049ffcec5c5c5b457f63647 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Tue, 14 May 2013 19:38:41 +0200
Subject: Added @jsummerfield for cleanups in #824. Thanks!
---
docs/topics/credits.md | 2 ++
1 file changed, 2 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 097dec7f..482f75d2 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -122,6 +122,7 @@ The following people have helped make REST framework great.
* Daniel Hepper - [dhepper]
* Hamish Campbell - [hamishcampbell]
* Marlon Bailey - [avinash240]
+* James Summerfield - [jsummerfield]
Many thanks to everyone who's contributed to the project.
@@ -280,3 +281,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[dhepper]: https://github.com/dhepper
[hamishcampbell]: https://github.com/hamishcampbell
[avinash240]: https://github.com/avinash240
+[jsummerfield]: https://github.com/jsummerfield
--
cgit v1.2.3
From aff88d15f7a483bca2da120339b1b346aa8b1d4c Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Thu, 16 May 2013 15:08:12 +0100
Subject: Version 2.3.3
---
docs/topics/release-notes.md | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index 5777b82d..e7d62721 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,12 +40,15 @@ You can determine your currently installed version using `pip freeze`:
## 2.3.x series
-### Master
+### 2.3.2
+
+**Date**: 16th May 2013
* Added SearchFilter
* Added OrderingFilter
* Added GenericViewSet
* Bugfix: Multiple `@action` and `@link` methods now allowed on viewsets.
+* Bugfix: Fix API Root view issue with DjangoModelPermissions
### 2.3.2
--
cgit v1.2.3
From bc3dfca5e303b6e8bd7455405d0148238178b846 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Thu, 16 May 2013 19:58:17 +0200
Subject: Added @rouge8 for bugfix #844. Thank you!
---
docs/topics/credits.md | 2 ++
1 file changed, 2 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 482f75d2..8151b4d3 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -123,6 +123,7 @@ The following people have helped make REST framework great.
* Hamish Campbell - [hamishcampbell]
* Marlon Bailey - [avinash240]
* James Summerfield - [jsummerfield]
+* Andy Freeland - [rouge8]
Many thanks to everyone who's contributed to the project.
@@ -282,3 +283,4 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[hamishcampbell]: https://github.com/hamishcampbell
[avinash240]: https://github.com/avinash240
[jsummerfield]: https://github.com/jsummerfield
+[rouge8]: https://github.com/rouge8
--
cgit v1.2.3
From f1fb434e6da0505b6cd74a3822d278fabde86ff6 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Thu, 16 May 2013 19:59:33 +0200
Subject: Update release-notes.md
---
docs/topics/release-notes.md | 4 ++++
1 file changed, 4 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md
index e7d62721..560dd305 100644
--- a/docs/topics/release-notes.md
+++ b/docs/topics/release-notes.md
@@ -40,6 +40,10 @@ You can determine your currently installed version using `pip freeze`:
## 2.3.x series
+### Master
+
+* Bugfix: HyperlinkedIdentityField now uses `lookup_field` kwarg.
+
### 2.3.2
**Date**: 16th May 2013
--
cgit v1.2.3
From a0e3c44c99a61a6dc878308bdf0890fbb10c41e4 Mon Sep 17 00:00:00 2001
From: Tom Christie
Date: Sat, 18 May 2013 13:40:20 +0200
Subject: Added @craigds, @pyriku, @brianz - Yay for sprints!
---
docs/topics/credits.md | 6 ++++++
1 file changed, 6 insertions(+)
(limited to 'docs/topics')
diff --git a/docs/topics/credits.md b/docs/topics/credits.md
index 8151b4d3..5998b4ca 100644
--- a/docs/topics/credits.md
+++ b/docs/topics/credits.md
@@ -124,6 +124,9 @@ The following people have helped make REST framework great.
* Marlon Bailey - [avinash240]
* James Summerfield - [jsummerfield]
* Andy Freeland - [rouge8]
+* Craig de Stigter - [craigds]
+* Pablo Recio - [pyriku]
+* Brian Zambrano - [brianz]
Many thanks to everyone who's contributed to the project.
@@ -284,3 +287,6 @@ You can also contact [@_tomchristie][twitter] directly on twitter.
[avinash240]: https://github.com/avinash240
[jsummerfield]: https://github.com/jsummerfield
[rouge8]: https://github.com/rouge8
+[craigds]: https://github.com/craigds
+[pyriku]: https://github.com/pyriku
+[brianz]: https://github.com/brianz
--
cgit v1.2.3