= Django 1.2 features = [[TOC()]] These are the features proposed for inclusion in Django 1.2, broken into high, medium, and low priorities. For more details, see [wiki:Version1.2Roadmap]. Each feature lists which committer(s) are involved, and who's the primary implementor (aka lieutenant aka "LT"). This is a wiki, so if you're the primary on a feature below and don't see yourself, please fix it. These links are from the [http://spreadsheets.google.com/ccc?key=0AtIlKMKDxMBpdGVPVXlTODVLeTBpNkdLd3hqZzdYR3c&hl=en 1.2 Voting Spreadsheet], which includes comments and concerns from the committers. == High priority == These features have many interested committers and are being emphasized for 1.2. If you want to help out, please start here. || '''Code''' || '''Feature''' || '''LT''' || '''Committer(s)''' || '''Ticket(s)''' || '''Commit''' || || Contrib-08 || row-level permissions hooks in auth || JL || MT, JK, JL || #11010 || || || Contrib-10 || Admin actions in CommentsAdmin || || JKM, RKM, JB || #11625 || [11639] || || Core-01 || Improved/reworked CsrfProtection || LP || SW, LP, RKM, JB || #9977, #10816 || [11660], [11661] || || Core-05 || Integrate `logging` with Django || || MT, SW, RKM, JSB || #12012 || || || Forms-02 || required/error classes on form rows || || JKM, MT, BR, SW, JK, JB || #3512 || || || GSoC-1 || Merge admin-ui branch || JKM || JKM, BR, SW, JB, JSB || || || || GSoC-2 || Merge http-wsgi-improvements branch || || MT, JB, JL || || || || GSoC-3 || Merge i18n-improvements branch || || MT, JB, JL || || || || GSoC-4 || Merge model-validation branch || || JK, JB || || || || GSoC-5 || Merge multidb branch || Alex Gaynor || SW, RKM, JSB || #1142, #10109 || [11710] || || GSoC-6 || Merge test-improvements branch || Eric Holscher|| KT, JB || || || || ORM-10 || exists() method on QuerySets || Alex Gaynor || MT, LP, JB || #11402 || [11646] || || ORM-12 || Model.objects.raw(SQL) || Sean O'Connor || JKM, MY, SW, RKM, JB || #11863 || || || Serialization-01 || Foreign keys in serializers || || JKM, MT, BR, RKM, JB || #7052 || || || Templates-02 || Smarter {% if %} tag || || SW, LP, RKM || [http://www.djangosnippets.org/snippets/1350/ snippet] || || || Templates-04 || Better template tag loading || || MT, JB || #3349, #6587 || || || Templates-05 || Support caching compiled templates || Mike Malone, Alex Gaynor || MT, RKM || #6262 || || || URLs-01 || Replace get_absolute_url() || || JKM, SW || ReplacingGetAbsoluteUrl || || || Views-01 || Class-based generic views || JKM || JK, JB || #6735 || || (See [#Whoswho who's who] for a list of our initials.) == Medium priority == These features have at least one committer interested, but are less well supported and will probably need some advocacy to be considered for committing. || '''Code''' || '''Feature''' || '''LT''' || '''Committer(s)''' || '''Ticket(s)''' || '''Commit''' || || Admin-01 || Option for classes on admin inlines || || JSB || #494 || || || Admin-02 || Custom FilterSpecs || Alex Gaynor || BR, LP || #5833 || || || Contrib-02 || Message Passing For Anonymous Users || Tobias !McNulty|| LP || #4604 || || || Contrib-05 || Syndication feed views || bfirsh || JKM, SW || http://github.com/bfirsh/syndication-view/ || || || Core-02 || Signing and Signed Cookies || || SW || || || || Email-01 || Pluggable email backends. || || RKM || #10355 || [11709] || || Forms-01 || Read-only form fields || Alex Gaynor || MT, JL || #342 || || || Forms-03 || Fieldsets for newforms || || MT || #6630 || || || ORM-03 || Multi-part primary keys || || MT || #373 || || || ORM-04 || Support bigint fields || || KT || #399 || || || ORM-08 || Add support for database schemas || || JB || #6148 || || || ORM-11 || Remove unnecessary savepoints with Oracle || || JKM || #11156 || || Note: ''Admin-02'', ''Forms-01'', ''ORM-03'', and ''ORM-04'' are controversial (both +1 and -1 votes) and may need discussion on django-dev before commit. == Low priority == These features have no direct interest by a committer, and so will need a ''very'' good patch and a dedicated developer or three. || '''Code''' || '''Feature''' || '''LT''' || '''Ticket(s)''' || '''Commit''' || || Contrib-07 || Session-based FormWizard || || #9200 || || || Contrib-09 || LDAP authentication backend || || #11526 || || || Contrib-11 || Implement Atom Publishing Protocol || || #3570 || || || ORM-06 || Store datetime values as UTC || || #1480, #2626 || || || ORM-07 || Implement DurationFields || || #2443 || || || ORM-09 || Add ON DELETE and ON UPDATE support || || #7539 || || || Templates-03 || Easier conditional template tags || || http://djangosnippets.org/snippets/1538 || || || Templates-06 || Capture in a template variable || || #6378 || || || Templates-07 || django.template refactoring || || #7806 || || || URLs-02 || Support for subdomains in the url patterns || || #8896 || || Note: ''Contrib-09'' and ''ORM-07'' are controversial (both +1 and -1 votes) and may need discussion on django-dev before commit. == Highly unlikely == Some features were voted on and were essentially rejected from 1.2. They're labeled "highly unlikely" to reflect that fact that consensus ''can'' change. However, with multiple -1 votes, the following features are highly unlikely to make it into Django 1.2: * Admin-03 (Support for input arguments on admin actions.) - this would overly complicate the admin UI and dilute the purpose of the admin actions. * Contrib-01 (Add South to contrib) - general consensus - including that of South's lead developer - is that South isn't yet ready to be a bonafide part of Django. * Contrib-03 (Add Django Debug Toolbar to contrib) - DDT's author prefers it as an external project. * Contrib-04 (Integrate Reversion as a django contrib app) - too specialized to be included in Django. * Contrib-06 (Allow for extendable auth_user module) - none of the proposals for how this would work have any sort of wide support. * Core-04 (Add IBM DB2 django adapter django.db.backends) - immaturity; the authors haven't offered support for inclusion. * ORM-01 (Support for non-relational databases) - way too big a feature to get done in a couple months. Incremental improvement is the way to go here. * ORM-02 (Identity mapping in the ORM) - the feature doesn't seem to fit with the philosophy of Django's ORM, and works fine as an external plugin. * ORM-13 (integrate http://github.com/bfirsh/django/tree/search) - it's not clear what's being proposed here. * Templates-01 (integrate http://github.com/simonw/django-html)) - while there was agreement on the need for a solution, many felt that this particular solution was less than ideal. == Not in consideration == === Small, or 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. * #6903 Go back to old change_list view after saving model instance * #7028, #7923 Improve the usability of `raw_id_fields` * #8274 Auth views allow form override (as an example, this would allow usernames longer than 30 chars to be handled) * #9289 Swedish (se) localflavor * #9819 Complete comment moderation by documenting existing approval process (patch available) * #10284 `ModelFormSet` - objects are deleted even if commit=False * #10476 Support database-level autocommit mode in Postgresql <= 8.1 * #11463 Vietnamese translation * #11716 Fix unwrapped ValueErrors on AutoField and IntegerField (patch & tests already done!) * #10736 Uruguayan (uy) localflavor === 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 a generic "official" way to create a REST API; so far there are quite a bunch of pluggables, with varying levels of "completeness", documentation and efficiency, and they're quite hard to choose from. * Make easier to mantain / deploy default settings.py by either: * include localsettings at the end, with the recommended approach of putting DATABASE_* settings in localsettings.py * or: if DEBUG: { some database settings } else: { other database settings } * Integrate some DVCS in django-admin.py, perhaps Mercurial or Git. This would make it easier to adopt and collaborate on Django projects. (This is stolen from Rails) * Show all SQL commands issued in the development server, for debugging purposes, perhaps only if DEBUG=true (another one stolen from Rails / Mongrel) * Extra template tags and filters (http://groups.google.com/group/django-developers/browse_thread/thread/2045a50970d6a883) * Make working with inline formsets easier (http://stackoverflow.com/questions/442040/pre-populate-an-inline-formset, as per James: ''...the way the model formsets work just make this more trouble than it's usually worth, but with a bit of API cleanup I think it could be made extremely easy.'', also http://groups.google.com/group/django-developers/browse_thread/thread/f9aae709a7fda689) * Allow inclusion of inlines in fieldsets (admin) * Make profiling easy, possibly by integrating profiling into Debug Toolbar (see dcramer's fork) * #6460 Multilingual Content in the db == Who's who == || BR || Brian Rosner || || JB || James Bennett || || JSB || Justin Bronn || || JK || Joseph Kocherhans || || JKM || Jacob Kaplan-Moss || || JL || Jannis Leidel || || KT || Karen Tracey || || LP || Luke Plant || || MT || Malcolm Tredinnick || || RKM || Russell Keith-Magee || || SW || Simon Willison ||