Index: tutorial01.txt
===================================================================
--- tutorial01.txt	(revision 2607)
+++ tutorial01.txt	(working copy)
@@ -505,11 +505,11 @@
     # Give the Poll a couple of Choices. Each one of these method calls does an
     # INSERT statement behind the scenes and returns the new Choice object.
     >>> p = Poll.objects.get(pk=1)
-    >>> p.choice_set.add(choice='Not much', votes=0)
+    >>> p.choice_set.create(choice='Not much', votes=0)
     Not much
-    >>> p.choice_set.add(choice='The sky', votes=0)
+    >>> p.choice_set.create(choice='The sky', votes=0)
     The sky
-    >>> c = p.choice_set.add(choice='Just hacking again', votes=0)
+    >>> c = p.choice_set.create(choice='Just hacking again', votes=0)
 
     # Choice objects have API access to their related Poll objects.
     >>> c.poll
Index: tutorial02.txt
===================================================================
--- tutorial02.txt	(revision 2607)
+++ tutorial02.txt	(working copy)
@@ -82,14 +82,16 @@
 But where's our poll app? It's not displayed on the admin index page.
 
 Just one thing to do: We need to specify in the ``Poll`` model that ``Poll``
-objects have an admin interface. Edit the ``myproject/polls/models/polls.py``
+objects have an admin interface. Edit the ``myproject/polls/models.py``
 file and make the following change to add an inner ``Meta`` class with an
 ``admin`` attribute::
 
+    from django.core import meta
+
     class Poll(meta.Model):
         # ...
-        class Meta:
-            admin = meta.Admin()
+        class Admin:
+            pass
 
 The ``class Meta`` contains all `non-field metadata`_ about this model.
 
@@ -159,11 +161,8 @@
 Let's customize this a bit. We can reorder the fields by explicitly adding a
 ``fields`` parameter to ``meta.Admin``::
 
-        admin = meta.Admin(
-            fields = (
-                (None, {'fields': ('pub_date', 'question')}),
-            ),
-        )
+        class Admin:
+            list_display = ('pub_date', 'question')
 
 That made the "Publication date" show up first instead of second:
 
@@ -176,12 +175,10 @@
 And speaking of forms with dozens of fields, you might want to split the form
 up into fieldsets::
 
-        admin = meta.Admin(
+        class Admin:
             fields = (
                 (None, {'fields': ('question',)}),
-                ('Date information', {'fields': ('pub_date',)}),
-            ),
-        )
+                ('Date info', {'fields': ('pub_date',)}),)
 
 The first element of each tuple in ``fields`` is the title of the fieldset.
 Here's what our form looks like now:
@@ -195,12 +192,10 @@
 This is useful when you have a long form that contains a number of fields that
 aren't commonly used::
 
-        admin = meta.Admin(
-            fields = (
-                (None, {'fields': ('question',)}),
-                ('Date information', {'fields': ('pub_date',), 'classes': 'collapse'}),
-            ),
-        )
+    class Admin:
+        fields = (
+            (None, {'fields': ('question',)}),
+            ('Date info', {'fields': ('pub_date',), 'classes': 'collapse'}),)
 
 .. image:: http://media.djangoproject.com/img/doc/tutorial/admin09.png
    :alt: Fieldset is initially collapsed
@@ -219,8 +214,8 @@
 
     class Choice(meta.Model):
         # ...
-        class Meta:
-            admin = meta.Admin()
+        class Admin:
+            pass
 
 Now "Choices" is an available option in the Django admin. The "Add choice" form
 looks like this:
@@ -245,7 +240,7 @@
 Remove the ``admin`` for the Choice model. Then, edit the ``ForeignKey(Poll)``
 field like so::
 
-    poll = meta.ForeignKey(Poll, edit_inline=meta.STACKED, num_in_admin=3)
+    poll = meta.ForeignKey(Poll, edit_inline=models.STACKED, num_in_admin=3)
 
 This tells Django: "Choice objects are edited on the Poll admin page. By
 default, provide enough fields for 3 Choices."
@@ -277,9 +272,9 @@
 fields for entering related Choice objects. For that reason, Django offers an
 alternate way of displaying inline related objects::
 
-    poll = meta.ForeignKey(Poll, edit_inline=meta.TABULAR, num_in_admin=3)
+    poll = meta.ForeignKey(Poll, edit_inline=models.TABULAR, num_in_admin=3)
 
-With that ``edit_inline=meta.TABULAR`` (instead of ``meta.STACKED``), the
+With that ``edit_inline=models.TABULAR`` (instead of ``models.STACKED``), the
 related objects are displayed in a more compact, table-based format:
 
 .. image:: http://media.djangoproject.com/img/doc/tutorial/admin12.png
@@ -304,11 +299,8 @@
 
     class Poll(meta.Model):
         # ...
-        class Meta:
-            admin = meta.Admin(
-                # ...
-                list_display = ('question', 'pub_date'),
-            )
+        class Admin:
+            list_display = ('question', 'pub_date')
 
 Just for good measure, let's also include the ``was_published_today`` custom
 method from Tutorial 1::
Index: tutorial03.txt
===================================================================
--- tutorial03.txt	(revision 2607)
+++ tutorial03.txt	(working copy)
@@ -255,10 +255,10 @@
 provides a shortcut. Here's the full ``index()`` view, rewritten::
 
     from django.shortcuts import render_to_response
-    from django.models.polls import polls
+    from myproject.polls.models import Poll, Choice
 
     def index(request):
-        latest_poll_list = polls.get_list(order_by=['-pub_date'], limit=5)
+        latest_poll_list = Poll.objects.order_by('-pub_date')[0:5]
         return render_to_response('polls/index', {'latest_poll_list': latest_poll_list})
 
 Note that we no longer need to import ``loader``, ``Context`` or
@@ -294,7 +294,7 @@
 
     from django.shortcuts import get_object_or_404
     def detail(request, poll_id):
-        p = get_object_or_404(polls, pk=poll_id)
+        p = get_object_or_404(Poll, pk=poll_id)
         return render_to_response('polls/detail', {'poll': p})
 
 The ``get_object_or_404()`` function takes a Django model module as its first
@@ -359,7 +359,7 @@
 
     <h1>{{ poll.question }}</h1>
     <ul>
-    {% for choice in poll.get_choice_list %}
+    {% for choice in poll.choice_set.all %}
         <li>{{ choice.choice }}</li>
     {% endfor %}
     </ul>
