15 | | * Replace get_absolute_url() with methods that are more useful and have more realistic names ReplacingGetAbsoluteUrl |
| 19 | * Support for non-relational databases: Tokyo Cabinet/Tyrant, MongoDB, Cassandra, Google Bigtable (AppEngine, #10192), Amazon SimpleDB, CouchDB, etc |
| 20 | * #17 Identity mapping in the ORM |
| 21 | * #373 Multi-part primary keys |
| 22 | * #6735 Class-based generic views |
| 23 | |
| 24 | == 3rd party packages for integration == |
| 25 | |
| 26 | These are the external projects that have been proposed for addition to Django's core. |
| 27 | |
| 28 | * Add South (http://south.aeracode.org/) to contrib |
| 29 | * Add IBM DB2 django adapter (http://code.google.com/p/ibm-db/wiki/ibm_db_django_README) to django.db.backends |
| 30 | * Search support in the ORM: http://github.com/bfirsh/django/tree/search |
| 31 | * #4604 Message Passing For Anonymous Users (See also: SessionMessages) |
| 32 | * #11698 Add Django Debug Toolbar to contrib |
| 33 | * #11982 Integrate Reversion as a django contrib app |
| 34 | |
| 35 | == Features under consideration == |
| 36 | |
| 37 | === Admin === |
| 38 | * #494 Option for classes on admin inlines |
| 39 | * #5833 Custom `FilterSpecs` |
| 40 | * #10871 Support for input arguments on admin actions. |
| 41 | |
| 42 | === Contrib === |
| 43 | * Syndication feed views: http://github.com/bfirsh/syndication-view/ |
| 44 | * #3011 Allow for extendable auth_user module |
| 45 | * #9200 Session-based `FormWizard` |
| 46 | * #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. |
| 47 | * #2507, #11526 LDAP authentication backend |
| 48 | * #11625 Add admin actions to the `CommentsAdmin` |
| 49 | |
| 50 | === Email === |
| 51 | * #10355 Add support for pluggable email backends. |
| 52 | |
| 53 | === Forms === |
| 54 | * #342 Read-only form fields |
| 55 | * #3512 Add "required" & "error" CSS classes to form rows in as_* methods |
| 56 | * #6630 Fieldsets for newforms |
| 57 | |
| 58 | === ORM === |
| 59 | * #399 Support 8-byte integer DB-fields (`bigint`) |
| 60 | * #1480, #2626 Store datetime values as UTC, handle them consistently regardless of RDBMS, platform and make things easier for multi-timezone applications. |
| 61 | * #2443 Implement `DurationFields` |
| 62 | * #6148 Add support for database schemas |
| 63 | * #7539 Add ON DELETE and ON UPDATE support |
| 64 | * #11402 exists() method on `QuerySets` |
| 65 | * #11156 Remove unnecessary savepoints with Oracle |
| 66 | * #11863 Add a method to the ORM to create Model instances from raw sql queries (useful when the orm is limiting you) |
| 67 | |
| 68 | === Serialization === |
| 69 | * #7052 dumpdata/loaddata: Support using lookup dictionaries as foreign keys in JSON/XML/YAML data dumps |
| 70 | |
| 71 | === Templates === |
17 | | * Syndication feed views and better Atom support: http://github.com/bfirsh/syndication-view/ |
18 | | * Search support in the ORM: http://github.com/bfirsh/django/tree/search |
19 | | * Support for non-relational databases: Tokyo Cabinet/Tyrant, MongoDB, Cassandra, Google Bigtable (AppEngine, #10192), Amazon SimpleDB, CouchDB, etc |
20 | | * Add a method to the orm to create Model instances from raw sql queries (useful when the orm is limiting you) (#11863) |
| 73 | * Easier conditional template tags (http://www.djangosnippets.org/snippets/1538/) |
| 74 | * #3349, #6587 Better template tag loading |
| 75 | * #3569 Implement Atom Publishing Protocol |
| 76 | * #6262 Support caching compiled templates |
| 77 | * #6378 Capture arbitrary output as a template variable (or add a capture ttag) |
| 78 | * #7806 django.template refactoring |
| 79 | |
| 80 | === URLs === |
| 81 | * Replace get_absolute_url() with methods that are more useful and have more realistic names (See also: ReplacingGetAbsoluteUrl) |
| 82 | * #8896 Support for subdomains in the url patterns, to allow easy reversing (or better: to allow reversing at all ;)) |
| 83 | |
| 84 | === Views === |
| 85 | * #8274 Auth views allow form override (as an example, this would allow usernames longer than 30 chars to be handled) |
| 86 | |
| 87 | == Not in consideration == |
| 88 | |
| 89 | === Small, or Just Bugs === |
| 90 | |
| 91 | 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. |
| 92 | |
| 93 | * #6903 Go back to old change_list view after saving model instance |
| 94 | * #7028, #7923 Improve the usability of `raw_id_fields` |
| 95 | * #9289 Swedish (se) localflavor |
| 96 | * #9819 Complete comment moderation by documenting existing approval process |
| 97 | * #10284 `ModelFormSet` - objects are deleted even if commit=False |
| 98 | * #10476 Support database-level autocommit mode in Postgresql <= 8.1 |
| 99 | * #11463 Vietnamese translation |
| 100 | * #11716 Fix unwrapped ValueErrors on AutoField and IntegerField (patch & tests already done!) |
| 101 | |
| 102 | === Rejected procedurally === |
| 103 | |
| 104 | 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. |
| 105 | |
25 | | * 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) |
26 | | * show all SQL commands issued in the development server, for debugging purposes, perhaps only if DEBUG=true (another one stolen from Rails / Mongrel) |
27 | | * Complete comment moderation by documenting existing approval process (#9819) and/or by adding admin actions (#11625) to the `CommentsAdmin`. |
| 110 | * 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) |
| 111 | * Show all SQL commands issued in the development server, for debugging purposes, perhaps only if DEBUG=true (another one stolen from Rails / Mongrel) |
31 | | * Add South (http://south.aeracode.org/) or some other migration/evolution app to contrib (http://code.djangoproject.com/wiki/SchemaEvolution) |
32 | | * Add IBM DB2 django adapter (http://code.google.com/p/ibm-db/wiki/ibm_db_django_README) to django.db.backends |
33 | | * Easier conditional template tags (http://www.djangosnippets.org/snippets/1538/) |
34 | | * #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) |
35 | | * #342 Read-only form fields |
36 | | * #373 Multi-part primary keys |
37 | | * #399 Support 8-byte integer DB-fields (`bigint`) |
38 | | * #494 Option for classes on admin inlines |
39 | | * #7028, #7923 Improve the usability of `raw_id_fields` |
40 | | * #2443 Implement `DurationFields` |
41 | | * #3011 Allow for extendable auth_user module |
42 | | * #3349, #6587 Better template tag loading |
43 | | * #3512 Add "required" & "error" CSS classes to form rows in as_* methods |
44 | | * #3569 Implement Atom Publishing Protocol |
45 | | * #4604 Message Passing For Anonymous Users |
| 115 | * Make profiling easy, possibly by integrating profiling into Debug Toolbar (see dcramer's fork) |
52 | | * #6630 Fieldsets for newforms |
53 | | * #6735 Class-based generic views |
54 | | * #6845 Model validation (Honza Kral's GSoC project) |
55 | | * #6903 Admin app: Go back to old change_list view after saving model instance |
56 | | * #7052 dumpdata/loaddata: Support using lookup dictionaries as foreign keys in JSON/XML/YAML data dumps |
57 | | * #7539 Add ON DELETE and ON UPDATE support |
58 | | * #7806 django.template refactoring |
59 | | * #8274 Auth views allow form override (as an example, this would allow usernames longer than 30 chars to be handled) |
60 | | * #8896 Support for subdomains in the url patterns, to allow easy reversing (or better: to allow reversing at all ;)) |
61 | | * #9200 Session-based `FormWizard` |
62 | | * #10284 `ModelFormSet` - objects are deleted even if commit=False |
63 | | * #10355 Add support for pluggable email backends. |
64 | | * #10476 Support database-level autocommit mode in Postgresql <= 8.1 |
65 | | * #1480, #2626 Store datetime values as UTC, handle them consistently regardless of RDBMS, platform and make things easier for multi-timezone applications. |
66 | | * #10871 Support for input arguments on admin actions. |
67 | | * #10923 Use thread-safe GEOS API if available |
68 | | * #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. |
69 | | * #11402 exists() method on `QuerySets` |
70 | | * #11156 Remove unnecessary savepoints with Oracle |
71 | | * #11698 Add Django Debug Toolbar to contrib |
72 | | * Make profiling easy, possibly by integrating profiling into Debug Toolbar (see dcramer's fork) |
73 | | * #11526 LDAP authentication backend |
74 | | * #11716 Fix unwrapped ValueErrors on AutoField and IntegerField (patch & tests already done!) |