= Django 1.2 Features = [[TOC()]] This page lists features which have been proposed for development/inclusion in Django 1.2. So far no decisions have been made regarding any of these features. See [wiki:Version1.2Roadmap] for information on the process and definition of terms. == Features under consideration == * Multi-database support (Alex Gaynor's GSoC project) * Admin UI Enhancements (Zain Memon's GSoC project) * Improved/reworked CsrfProtection (see #9977, #10816) * i18n improvements (Marc Garcia's GSoC project) * Add {% doctype %} and {% field %} template tags from http://github.com/simonw/django-html/ * Add support for [wiki:Signing Signing and Signed Cookies] * Integrate the Python standard library logging module with Django * Replace get_absolute_url() with methods that are more useful and have more realistic names ReplacingGetAbsoluteUrl * Smarter {% if %} tag from http://www.djangosnippets.org/snippets/1350/ * Syndication feed views and better Atom support: http://github.com/bfirsh/syndication-view/ * Search support in the ORM: http://github.com/bfirsh/django/tree/search * Support for non-relational databases: Tokyo Cabinet/Tyrant, MongoDB, Cassandra, Google Bigtable (AppEngine, #10192), Amazon SimpleDB, CouchDB, etc * Add a method to the orm to create Model instances from raw sql queries (useful when the orm is limiting you) (#11863) * 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) * Complete comment moderation by documenting existing approval process (#9819) and/or by adding admin actions (#11625) to the `CommentsAdmin`. * Extra template tags and filters (http://groups.google.com/group/django-developers/browse_thread/thread/2045a50970d6a883) * Replace get_absolute_url (http://code.djangoproject.com/wiki/ReplacingGetAbsoluteUrl) * 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) * Add South (http://south.aeracode.org/) or some other migration/evolution app to contrib (http://code.djangoproject.com/wiki/SchemaEvolution) * Add IBM DB2 django adapter (http://code.google.com/p/ibm-db/wiki/ibm_db_django_README) to django.db.backends * Easier conditional template tags (http://www.djangosnippets.org/snippets/1538/) * #17 Identity mapping in the ORM (Work has been done to this end by David Cramer, here: http://github.com/dcramer/django-idmapper/tree/master) * #342 Read-only form fields * #373 Multi-part primary keys * #399 Support 8-byte integer DB-fields (`bigint`) * #494 Option for classes on admin inlines * #7028, #7923 Improve the usability of `raw_id_fields` * #2443 Implement `DurationFields` * #3011 Allow for extendable auth_user module * #3349, #6587 Better template tag loading * #3512 Add "required" & "error" CSS classes to form rows in as_* methods * #3569 Implement Atom Publishing Protocol * #4604 Message Passing For Anonymous Users * #4656 Full serialization * #5833 Custom `FilterSpecs` * #6148 Add support for database schemas * #6262 Support caching compiled templates * #6378 Capture arbitrary output as a template variable (or add a capture ttag) * #6460 Multilingual Content in the db * #6630 Fieldsets for newforms * #6735 Class-based generic views * #6845 Model validation (Honza Kral's GSoC project) * #6903 Admin app: Go back to old change_list view after saving model instance * #7052 dumpdata/loaddata: Support using lookup dictionaries as foreign keys in JSON/XML/YAML data dumps * #7150 patch to implement view pemission in admin * #7539 Add ON DELETE and ON UPDATE support * #7806 django.template refactoring * #8274 Auth views allow form override (as an example, this would allow usernames longer than 30 chars to be handled) * #8896, #11647 Support for subdomains in the url patterns, to allow easy reversing (or better: to allow reversing at all ;)) * #9200 Session-based `FormWizard` * #9289 Swedish (se) localflavor * #10284 `ModelFormSet` - objects are deleted even if commit=False * #10355 Add support for pluggable email backends. * #10476 Support database-level autocommit mode in Postgresql <= 8.1 * #10587, #1480, #2626 Store datetime values as UTC, handle them consistently regardless of RDBMS, platform and make things easier for multi-timezone applications. * #10752 Enhanced Bash Completion * #10871 Support for input arguments on admin actions. * #10923 Use thread-safe GEOS API if available * #11010 Support row-level permissions by updating the User-Object and Authbackends, to take an optional `object` parameter, so 3rd party Apps can implement the functionality easily. * #11402 exists() method on `QuerySets` * #11463 Vietnamese translation * #11156 Remove unnecessary savepoints with Oracle * #11698 Add Django Debug Toolbar to contrib * Make profiling easy, possibly by integrating profiling into Debug Toolbar (see dcramer's fork) * #11526 LDAP authentication backend * #11716 Fix unwrapped ValueErrors on AutoField and IntegerField (patch & tests already done!) == Lieutenants and Committers == The lieutenants and committers for each feature will be decided when the feature list is formalized.