Index: django/contrib/databrowse/datastructures.py
===================================================================
--- django/contrib/databrowse/datastructures.py	(revision 5060)
+++ django/contrib/databrowse/datastructures.py	(working copy)
@@ -7,6 +7,7 @@
 from django.utils import dateformat
 from django.utils.text import capfirst
 from django.utils.translation import get_date_formats
+from django.db.models.query import QuerySet
 
 EMPTY_VALUE = '(None)'
 
@@ -29,9 +30,13 @@
         return '%s%s/%s/' % (self.site.root_url, self.model._meta.app_label, self.model._meta.module_name)
 
     def objects(self, **kwargs):
-        for obj in self.model._default_manager.filter(**kwargs):
-            yield EasyInstance(self, obj)
+        return self.get_query_set().filter(**kwargs)
 
+    def get_query_set(self):
+        easy_qs = self.model._default_manager.get_query_set()._clone(klass=EasyQuerySet)
+        easy_qs._easymodel = self
+        return easy_qs
+
     def object_by_pk(self, pk):
         return EasyInstance(self, self.model._default_manager.get(pk=pk))
 
@@ -190,3 +195,17 @@
         else:
             lst = [(self.values()[0], None)]
         return lst
+
+class EasyQuerySet(QuerySet):
+    """
+    When creating (or cloning to) an `EasyQuerySet`, make sure to set the
+    `_easymodel` variable to the related `EasyModel`.
+    """
+    def iterator(self, *args, **kwargs):
+        for obj in super(EasyQuerySet, self).iterator(*args, **kwargs):
+            yield EasyInstance(self._easymodel, obj)
+
+    def _clone(self, *args, **kwargs):
+        c = super(EasyQuerySet, self)._clone(*args, **kwargs)
+        c._easymodel = self._easymodel
+        return c
\ No newline at end of file
Index: django/contrib/databrowse/plugins/calendars.py
===================================================================
--- django/contrib/databrowse/plugins/calendars.py	(revision 5060)
+++ django/contrib/databrowse/plugins/calendars.py	(working copy)
@@ -63,22 +63,22 @@
 
     def calendar_view(self, request, field, year=None, month=None, day=None):
         easy_model = EasyModel(self.site, self.model)
+        queryset = easy_model.get_query_set()
         extra_context = {'root_url': self.site.root_url, 'model': easy_model, 'field': field}
         if day is not None:
-            # TODO: The objects in this template should be EasyInstances
-            return date_based.archive_day(request, year, month, day, self.model.objects.all(), field.name,
+            return date_based.archive_day(request, year, month, day, queryset, field.name,
                 template_name='databrowse/calendar_day.html', allow_empty=False, allow_future=True,
                 extra_context=extra_context)
         elif month is not None:
-            return date_based.archive_month(request, year, month, self.model.objects.all(), field.name,
+            return date_based.archive_month(request, year, month, queryset, field.name,
                 template_name='databrowse/calendar_month.html', allow_empty=False, allow_future=True,
                 extra_context=extra_context)
         elif year is not None:
-            return date_based.archive_year(request, year, self.model.objects.all(), field.name,
+            return date_based.archive_year(request, year, queryset, field.name,
                 template_name='databrowse/calendar_year.html', allow_empty=False, allow_future=True,
                 extra_context=extra_context)
         else:
-            return date_based.archive_index(request, self.model.objects.all(), field.name,
+            return date_based.archive_index(request, queryset, field.name,
                 template_name='databrowse/calendar_main.html', allow_empty=True, allow_future=True,
                 extra_context=extra_context)
         assert False, ('%s, %s, %s, %s' % (field, year, month, day))
Index: django/contrib/databrowse/templates/databrowse/base.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/base.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/base.html	(working copy)
@@ -1,8 +1,9 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" lang="{{ LANGUAGE_CODE }}" xml:lang="{{ LANGUAGE_CODE }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}>
 <head>
-<title>{% block title %}{% endblock %}</title>
-<style type="text/css">
+<title>{% block title %}{% endblock %}</title>
+{% block style %}
+<style type="text/css">
 * { margin:0; padding:0; }
 body { background:#eee; color:#333; font:76%/1.6 "Lucida Grande","Bitstream Vera Sans",Verdana,sans-serif; }
 a { color: #5b80b2; text-decoration:none; }
@@ -46,11 +47,13 @@
 #header a { display:block; background:#eee; color:#676868; padding:10px 20px; font-weight:bold; font-size:1em; text-decoration:none; border-bottom:1px solid #ddd; }
 #header a:hover { text-decoration:underline; }
 /* CONTENT */
-#content { background:#fff; border-bottom:1px solid #ddd; padding:0 20px; }
+#content { background:#fff; border-bottom:1px solid #ddd; padding:0 20px; }
 </style>
+{% endblock %}
+{% block extrahead %}{% endblock %}
 </head>
 <body id="{% block bodyid %}page{% endblock %}">
-<div id="header"><a href="{{ root_url }}">Databrowse</a></div>
+<div id="header"><a href="{{ root_url }}">{% block title %}Databrowse{% endblock %}</a></div>
 <div id="content">
 {% block content %}{% endblock %}
 </div>
Index: django/contrib/databrowse/templates/databrowse/base_site.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/base_site.html	(revision 0)
+++ django/contrib/databrowse/templates/databrowse/base_site.html	(revision 0)
@@ -0,0 +1 @@
+{% extends "databrowse/base.html" %}
\ No newline at end of file
Index: django/contrib/databrowse/templates/databrowse/calendar_day.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/calendar_day.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/calendar_day.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} {{ day|date:"F j, Y" }}{% endblock %}
 
@@ -6,11 +6,11 @@
 
 <div id="breadcrumbs"><a href="{{ root_url }}">Home</a> / <a href="{{ model.url }}">{{ model.verbose_name_plural|capfirst }}</a> / <a href="../../../../">Calendars</a> / <a href="../../../">By {{ field.verbose_name }}</a> / <a href="../../">{{ day.year }}</a> / <a href="../">{{ day|date:"F" }}</a> / {{ day.day }}</div>
 
-<h1>{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} on {{ day|date:"F j, Y" }}</h1>
+<h1>{{ object_list.count }} {% if object_list.count|pluralize %}{{ model.verbose_name_plural|escape }}{% else %}{{ model.verbose_name|escape }}{% endif %} with {{ field.verbose_name }} on {{ day|date:"F j, Y" }}</h1>
 
 <ul class="objectlist">
 {% for object in object_list %}
-<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li>
+<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
 {% endfor %}
 </ul>
 
Index: django/contrib/databrowse/templates/databrowse/calendar_homepage.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/calendar_homepage.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/calendar_homepage.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}Calendars{% endblock %}
 
Index: django/contrib/databrowse/templates/databrowse/calendar_main.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/calendar_main.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/calendar_main.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}{{ field.verbose_name|capfirst }} calendar{% endblock %}
 
Index: django/contrib/databrowse/templates/databrowse/calendar_month.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/calendar_month.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/calendar_month.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} in {{ month|date:"F Y" }}{% endblock %}
 
@@ -6,11 +6,11 @@
 
 <div id="breadcrumbs"><a href="{{ root_url }}">Home</a> / <a href="{{ model.url }}">{{ model.verbose_name_plural|capfirst }}</a> / <a href="../../../">Calendars</a> / <a href="../../">By {{ field.verbose_name }}</a> / <a href="../">{{ month.year }}</a> / {{ month|date:"F" }}</div>
 
-<h1>{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} in {{ month|date:"F Y" }}</h1>
+<h1>{{ object_list.count }} {% if object_list.count|pluralize %}{{ model.verbose_name_plural }}{% else %}{{ model.verbose_name }}{% endif %} with {{ field.verbose_name }} in {{ month|date:"F Y" }}</h1>
 
 <ul class="objectlist">
 {% for object in object_list %}
-<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li>
+<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
 {% endfor %}
 </ul>
 
Index: django/contrib/databrowse/templates/databrowse/calendar_year.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/calendar_year.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/calendar_year.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} in {{ year }}{% endblock %}
 
Index: django/contrib/databrowse/templates/databrowse/choice_detail.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/choice_detail.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/choice_detail.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}{{ model.verbose_name_plural|capfirst }} by {{ field.field.verbose_name }}: {{ value|escape }}{% endblock %}
 
Index: django/contrib/databrowse/templates/databrowse/choice_list.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/choice_list.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/choice_list.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}{{ model.verbose_name_plural|capfirst }} by {{ field.field.verbose_name }}{% endblock %}
 
Index: django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}{{ model.verbose_name_plural|capfirst|escape }} with {{ field.field.verbose_name|escape }} {{ value|escape }}{% endblock %}
 
@@ -6,7 +6,7 @@
 
 <div id="breadcrumbs"><a href="{{ root_url }}">Home</a> / <a href="{{ model.url }}">{{ model.verbose_name_plural|capfirst }}</a> / <a href="../../">Fields</a> / <a href="../">By {{ field.field.verbose_name|escape }}</a> / {{ value|escape }}</div>
 
-<h1>{{ model.verbose_name_plural|capfirst|escape }} with {{ field.field.verbose_name|escape }} {{ value|escape }}</h1>
+<h1>{{ object_list.count }} {% if object_list.count|pluralize %}{{ model.verbose_name_plural|escape }}{% else %}{{ model.verbose_name|escape }}{% endif %} with {{ field.field.verbose_name|escape }} {{ value|escape }}</h1>
 
 <ul class="objectlist">
 {% for object in object_list %}
Index: django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}Browsable fields in {{ model.verbose_name_plural|escape }}{% endblock %}
 
Index: django/contrib/databrowse/templates/databrowse/fieldchoice_list.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/fieldchoice_list.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/fieldchoice_list.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}{{ model.verbose_name_plural|capfirst|escape }} by {{ field.field.verbose_name|escape }}{% endblock %}
 
Index: django/contrib/databrowse/templates/databrowse/homepage.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/homepage.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/homepage.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}Databrowse{% endblock %}
 
Index: django/contrib/databrowse/templates/databrowse/model_detail.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/model_detail.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/model_detail.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}{{ model.verbose_name_plural|capfirst }}{% endblock %}
 
Index: django/contrib/databrowse/templates/databrowse/object_detail.html
===================================================================
--- django/contrib/databrowse/templates/databrowse/object_detail.html	(revision 5060)
+++ django/contrib/databrowse/templates/databrowse/object_detail.html	(working copy)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
 
 {% block title %}{{ object.model.verbose_name|capfirst }}: {{ object }}{% endblock %}
 
