= Django 1.1 Features = [[TOC()]] This page has the list of features to be included in Django 1.1 and their statuses. See [wiki:Version1.1Roadmap] for information on the process and definition of terms. == Must-have features == || '''Code''' || '''Feature''' || '''Implementor''' || '''Committer''' || '''Ticket(s)''' || '''Commit rev.''' || || ''Admin-01'' || Bulk-edit on changelist pages. || JKM + Wilson || JKM || || || || ''Admin-02'' || Integrate django-batchadmin || Brian Beck || JKM || || || || ''Admin-03'' || Make the admin use a url resolver || Alex Gaynor || Brian || #6470 || [9739] || || ''Admin-08'' || Make filters in admin changelists persistent || ??? || Brian || #6903 || || || ''Contrib-05'' || Message Passing For Anonymous Users || ??? || Malcolm || #4604 || || || ''Contrib-12'' || Cached DB session backend || Jeremy Dunck || JKM || #6791 || [9727] || || ''ORM-01'' || ORM aggregation || Nicolas Lara || Russ || #3566 || [9742] || || ''ORM-03'' || Model validation. || Honza Kral || (multiple) || #6845 || || || ''ORM-06'' || Expression support in `QuerySet.update()` || ??? || Malcolm/Russ || #7210 || || || ''ORM-14'' || `QuerySet.defer()`/`QuerySet.fields()` || Malcolm || JKM/Malcolm || #5420 || || || ''Test-03'' || Run Django test cases inside a transaction || ??? || Russ || #8138 || [9756] || || ''View-01'' || Class-based generic views || Marc Fargas || JKM || #6735 || || == "Maybe" features == First priority: || '''Code''' || '''Feature''' || '''Implementor''' || '''Committer''' || '''Ticket(s)''' || '''Commit rev.''' || || ''Admin-05'' || `ModelAdmin` overriding of FK/M2M options || JKM et al || JKM || #3987 || [9760] || || ''Admin-06'' || Read-only form fields || ??? || Karen || ??? || || || ''Admin-07'' || Custom `FilterSpecs` || ??? || James/JKM || #5833 || || || ''Contrib-02'' || Customizability of contrib.comments || Carl Meyer || JKM || #8630, #9562 || || || ''Contrib-03'' || Roll in comment-utils || ??? || JKM || #9282 || || || ''Contrib-06'' || Honor `REMOTE_USER` || Marc Fargas || Gary || #689 || || || ''Contrib-07'' || Implement Atom Publishing Protocol || James Tauber || JKM || #3569 || || || ''Contrib-11'' || Signed cookies || Marty Alchin || JKM || http://code.google.com/p/django-signedcookies || || || ''ORM-15'' || Day-of-week filter for date/datetime fields || ??? || Karen || #7672 || || || ''ORM-17'' || {% default %} clause for {% for %} loops || Jannis Leidel || JKM || #6398 || [9530] || || ''ORM-19'' || Add support for database schemas || ??? || Russ || #6148 || || || ''Template-06'' || Better template tag loading || ??? || Malcolm || #6587, #3349 || || || ''Test-01'' || Follow redirect chains on the Test Client || Marc Fargas || Russ || #4476 || || || ''Test-02'' || Disable all e-mail sending for debugging || ??? || Russ || #8638 || || || ''View-03'' || `wsgi.file_wrapper` for large file serving || ??? || JKM || #2131, #7894, #7581, PEP333 || || Second priority: || '''Code''' || '''Feature''' || '''Implementor''' || '''Committer''' || '''Ticket(s)''' || '''Commit rev.''' || || ''Contrib-01'' || Session-based form wizard || David Durham || ??? || #9200 || || || ''Form-02'' || Forms with built-in CSRF protection || ??? || ??? || #7167 || || || ''ORM-09'' || Manager.update_or_create() and Model.update()|| ??? || ??? || #3182 || || || ''ORM-10'' || `QuerySet.select_for_update()` method. || ??? || ??? || #2705 || || || ''ORM-11'' || `QuerySet.cache()` method. || ??? || ??? || #7338 || || || ''ORM-12'' || Allow the use of property() in fields. || ??? || ??? || #3148 || || || ''ORM-13'' || Support for DISTINCT ON queries || ??? || Malcolm || #6422 || || || ''ORM-16'' || Native autocommit option for Postgresql || Richard Davies || Malcolm? || #3460 || || || ''ORM-18'' || Add signals to many-to-many objects || ??? || Malcolm/Russ || #5390 || || || ''Template-01'' || Extend inclusion tag syntax || ??? || ??? || #9093 || || || ''Template-04'' || Clean-up of django.template internals || Johannes Dollinger || ??? || #7806 || || || ''Template-05'' || Namespace support for template libraries || ??? || ??? || #2539 || || == Rejected features == The following features were rejected or deferred: || '''Code''' || '''Feature ''' || '''Result''' || || ''ORM-02'' || [http://code.djangoproject.com/wiki/AuditTrail Object history] || rejected: out of scope for Django's core. || || ''ORM-04'' || [http://groups.google.com/group/django-developers/browse_thread/thread/09f0353fe0682b73 Public-facing multiple database API] || deferred: proposal not yet fully-formed. || || ''ORM-07'' || [http://groups.google.com/group/django-developers/browse_thread/thread/9a672d5bbbe67562 Denormalized model fields] (#8946) || deferred: proposal not yet fully-formed. || || ''ORM-08'' || SchemaEvolution || deferred: numerous implementations, no clear winner. || || ''ORM-20'' || [http://groups.google.com/group/django-developers/browse_thread/thread/dde95291e5c8e225 implement force_insert and force_update in ModelForm.save()] (#8672) || rejected; not a desired feature. || || ''ORM-21'' || Rename `Model.Meta.verbose_name` to `label`, like `django.forms` || rejected: backwards-incompatible with no real upside. || || ''ORM-22'' || Ordering field and revitalize `order_with_respect_to` (See [http://groups.google.am/group/django-developers/browse_thread/thread/397175d2381e73dd A], [http://groups.google.com/group/django-developers/browse_thread/thread/480662576c49edd/338138c32201022f?lnk=gst&q=orderingfield#338138c32201022f B]) || deferred: no clear spec. || || ''ORM-23'' || [ticket:3591 INSTALLED_APPS refactoring] (`app()` object) || deferred: needs more work. || || ''Template-02'' || [ticket:1105 Enhanced simple-tag decorator (access to context and easy block tags)] (see also [http://groups.google.com/group/django-developers/browse_thread/thread/fba22c3e3c910bb9 django-dev thread]) || rejected in favor of more general template tag cleanup. || || ''Template-03'' || [ticket:7438 Add keyword support to simple_tag and inclusion_tag] || rejected in favor of more general template tag cleanup. || || ''Test-04'' || [http://code.google.com/p/django-testmaker/ Integrate django-testmaker] || rejected: out of scope for core. || || ''View-04'' || [http://groups.google.com/group/django-developers/browse_thread/thread/3417b90f0e6fda9f URL resolver refactor] || defer: no clear purpose. || || ''View-05'' || [http://groups.google.com/group/django-developers/browse_thread/thread/bb001e5ef255dd7c Decouple authentication from calling a view] || rejected: out of scope. || || ''Admin-04'' || [ticket:8500 Improve flexibility of admin.autodiscover for custom admin sites] || defer: no clear goals/spec. || || ''Auth-01'' || [http://code.djangoproject.com/ticket/9444 AnonymousUser that you can set specific permissions for] || rejected: too many potential downsides. || || ''Auth-02'' || [http://code.djangoproject.com/ticket/3011 Allow for extendable auth_user module] (add an abstract base class for User too) || rejected: too many potential downsides. || || ''Contrib-04'' || [http://code.google.com/soc/2008/django/appinfo.html?csaid=B58713A6BDC1E322 Integrate GSOC2008 djangosearch as django.contrib.search] || defer: not done. || || ''Contrib-08'' || [https://groups.google.com/group/django-developers/browse_thread/thread/94efe43b1d1c7787 Media management for apps] || defer: not a complete proposal. || || ''Contrib-09'' || [http://code.google.com/p/django-logging django-logging] || rejected: out of scope. || || ''Contrib-10'' || [http://www.djangosnippets.org/snippets/1026/ Breadcrumbs] || rejected: out of scope. || == Special cases == See generally, http://code.djangoproject.com/wiki/Version1.1Roadmap#special-cases. === !GeoDjango === !GeoDjango features for 1.1 are discussed on the [wiki:GeoDjango1.1 GeoDjango 1.1] wiki page. == Not in consideration == === Small/just bugs === Features proposed on this list that area just bugs to be fixed or really tiny feature additions that are not controversial in any way. They're still here for posterity, but have no real role in the feature proposal process. * [ticket:7270 Make select_related work with reverse onetoones] * [ticket:5335 Add an append method to ErrorDict] * [ticket:6362 Remove blank spaces with strip when validating data] * #9124, #6231 * Wrap help_text in "", like errors in "" in HTML output. #8426. * [ticket:7048 Support clearing FileFields in the admin if blank=True] * [http://groups.google.com/group/django-developers/browse_thread/thread/6dd78862b887438c?hl=en& ModelAdmin hook for customising the "show on site" button] (#8261) * Fix missing proxies throughout django.core.files.* -- See: tickets #9344 and #9404, and also [http://groups.google.com/group/django-developers/browse_thread/thread/4e561161080ae2dc on the dev-list]. * #5245 * [http://groups.google.com/group/django-developers/browse_thread/thread/d27261561bc36d96 Avoid double imports] (see [ticket:8193]) * #7980 * #9015 === Rejected procedurally === These are proposed features that, as of the close date for proposals, lacked concrete proposals, proof-of-concept implementations, or details needed to start implementing. * Add the ability to add fields to admin forms and the ability to intercept form submissions so the values of those fields could be accessed. This way admin plugins could be developed. ''[No concrete proposal]'' * [ticket:6972 Please make Django installable with easy_install] (ticket #6972, #3812) ''[Will be fixed with the 1.0.1 release]''. * [http://groups.google.com/group/django-developers/browse_thread/thread/564cf6d244c8b68c Create a benchmark to measure the impact changes have to code] ''[No concrete proposal; doesn't need to be part of the release process reguardless]'' * Multilingual support in the db. There are some projects that could be integrated into the trunk as django-multilingual. ''[No concrete proposal]''