Week in review: May 31

Here are the highlights of Django improvements this past week-and-a-half-ish (the Memorial Day weekend in the U.S. delayed this week's entry):

  • Changeset 2970: Fixed bug with Meta.ordering being ignored when slicing a single item off a QuerySet. Thanks, Gábor Fawkes.
  • Changeset 2981: Changed comments.py views to use relative URL for redirects. Thanks, phil@produxion.net.
  • Changeset 2984: Changed django.core.mail to include 'Date' header in e-mails. Thanks, Eric Walstad.
  • Changeset 2985: Initial SQL data now works in SQLite if there are multiple statements. Thanks, jpellerin@gmail.com.
  • Changeset 2990: Base handler no longer calls mail_admins() on SystemExit, in case of forked processes called from views. Thanks, Hugo.
  • Changeset 2991: The 'add' green plus sign no longer appears in admin change forms for fields whose related models don't have an admin.
  • Changeset 2992: Made negative indexing on QuerySet instances raise an assertion error (previously it just returned incorrect results).
  • Changeset 2993: Every database backend now properly raises ImproperlyConfigured if the relevant Python database module raises ImportError. This should help avoid some newbie confusion.
  • Changeset 2994: Improved error message if DATABASE_ENGINE is invalid. This should also help avoid some newbie confusion.
  • Changeset 2995: AttributeErrors in models are no longer ignored by the model validator.
  • Changeset 2997: Fixed bug with QuerySet.exclude() failing to do negations on Q objects, and at the same time generalised exclude/QNot so that they work for 'external' Q objects, i.e. ones that simply have 'get_sql' defined.
  • Changeset 2999: Models are now sorted by verbose_name_plural in the admin index page. Thanks, Alex Dedul.
  • Changeset 3002: auto_now_add fields now work properly when saving multiple times.
  • Changeset 3004: Improved Atom feed framework by outputting "rel=alternate". Thanks, Ned Batchelder.
  • Changeset 3009: 'View on site' now works with non-integer primary keys.
  • Changeset 3012: Added support to the Django auth mod_python handler (django/contrib/auth/handlers/modpython.py) for setting DJANGO_SETTINGS_MODULE via a PythonOption instead of SetEnv.
  • Changeset 3014: get_object_or_404 now allows *args as well. Thanks, Joeboy.
  • Changeset 3018: Fixed raw_id_admin display in admin. Thanks, Christopher Lenz.
  • Changeset 3019: QuerySet._combine now combines where clause. Thanks, graham@darkcoding.net.
  • Changeset 3020: autoreload.py no longer fails for uninstalled 'thread' module. Thanks, plmeister@gmail.com.
  • Changeset 3021: Ooption values are now escaped in SelectMultipleField.
  • Changeset 3022: Added 'mimetype' parameter to generic views. Thanks, Ian Holsman.
  • Changeset 3023: Admin now quotes strings in breadcrumbs and filters. Thanks, mhf@hex.no.
  • Changeset 3024: Fixed bug in admin where it would redirect infinitely if invalid lookup parameters were given in the URL.
  • Changeset 3026: Made isValidEmail validator wider in scope. Thanks, mir@noris.de.
  • Changeset 3034: Escaped history messages in admin. Thanks, SmileyChris.
  • Changeset 3038: The CursorDebugWrapper now supports pyformat paramstyle.
  • Changeset 3039: Added a make_object_list parameter to the archive_year date-based generic view. Thanks, jhf@hex.no.
  • Changeset 3040: Added first_on_page() and last_on_page() methods to ObjectPaginator. Thanks, m@bagai.com.
  • Changeset 3044: Improved DB API quote_only_if_word() so that it doesn't quote 'select' parameters that are not all word characters. Thanks, dja@cdc.msbx.net.
  • Changeset 3045: Fixed some threading issues for FreeBSD. Thanks, scott@clued-in.co.uk.

In other Django news:

Posted by Adrian Holovaty on June 1, 2006