Django 1.2 features
These are the features proposed for inclusion in Django 1.2, broken into high, medium, and low priorities. For more details, see 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 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 | [11807] |
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 SW | ||
Forms-02 | required/error classes on form rows | JKM, MT, BR, SW, JK, JB | #3512 | [11830] | |
GSoC-1 | Merge admin-ui branch | JKM as of 11820 | JKM, BR, SW, JB, JSB | #12508, #12509 | [12297] |
GSoC-2 | Merge http-wsgi-improvements branch | MT, JB, JL | |||
GSoC-3 | Merge i18n-improvements branch | JL | MT, JB, JL | #7980 JL | [11964] |
GSoC-4 | Merge model-validation branch | JK, JB | [12098] | ||
GSoC-5 | Merge multidb branch | Alex Gaynor | SW, RKM, JSB | #1142, #10109 | [11710] [11952] [12272] [12289] [12290] |
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 | [11921] |
Serialization-01 | Foreign keys in serializers | JKM, MT, BR, RKM, JB | #7052 | [11863] | |
Templates-02 | Smarter {% if %} tag | SW, LP, RKM | snippet | [11806] | |
Templates-04 | Better template tag loading | MT, JB | #3349, #6587 | [12295] | |
Templates-05 | Support caching compiled templates | Mike Malone, Alex Gaynor | MT, RKM | #6262 | [11862] |
URLs-01 | Replace get_absolute_url() | JKM, SW | ReplacingGetAbsoluteUrl | ||
Views-01 | Class-based generic views | JKM | JK, JB | #6735 |
(See 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 | [11804] |
Contrib-05 | Syndication feed views | bfirsh | JKM, SW | #12403 | [12338] |
Core-02 | Signing and Signed Cookies | SW | #12417 | ||
Email-01 | Pluggable email backends. | RKM | #10355 | [11709] | |
Forms-01 | Read-only form fields | Alex Gaynor | MT, JL | #342 | [11965] |
Forms-03 | Fieldsets for newforms | MT | #6630 | ||
ORM-03 | Multi-part primary keys | MT | #373 | ||
ORM-04 | Support bigint fields | KT | #399 | [11887] | |
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
The features proposed on this list are 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 |