| 1 | = Backwards-incompatible changes = |
| 2 | |
| 3 | As Django is still in pre-release mode, we haven't yet committed to maintaining backwards compatibility in any APIs. Although we're keeping such changes to a minimum, Django developers should be acutely aware of these changes. |
| 4 | |
| 5 | Of course, once we reach our first official release, we'll be strongly committed to backward compatibility. |
| 6 | |
| 7 | This page lists all backwards-incompatible changes to Django so far, and the proposed backwards-incompatible changes. |
| 8 | |
| 9 | == Changes already made == |
| 10 | |
| 11 | === Moved mod_python handler === |
| 12 | |
| 13 | As of [169], using {{{django.core.handler}}} as a mod_python handler is deprecated. Use {{{django.core.handlers.mod_python}}} instead. We will be removing {{{django.core.handler}}} for Django's first release. |
| 14 | |
| 15 | === Changed ordering syntax === |
| 16 | |
| 17 | As of [292], syntax used for {{{order_by}}} (in the database API) and {{{ordering}}} (in models) has changed. |
| 18 | |
| 19 | Example of old ordering syntax: |
| 20 | {{{order_by=[('foo', 'ASC'), ('bar', 'DESC')]}}} |
| 21 | |
| 22 | Example of new ordering syntax: |
| 23 | {{{order_by=['foo', '-bar']}}} |
| 24 | |
| 25 | The old syntax is deprecated, and we'll stop supporting it for Django's first release. |
| 26 | |
| 27 | === Refactored meta.py === |
| 28 | |
| 29 | As of [378], {{{django/core/meta.py}}} has been converted to a package, {{{django/core/meta/}}}. If you're using a version of Django from before [378], make sure to delete {{{django/core/meta.pyc}}} and {{{django/core/meta.pyo}}}, if they exist. The existence of those files doesn't pose any known problems, but it's best to clean things up. |
| 30 | |
| 31 | === Changed edit_inline and edit_inline_type behavior === |
| 32 | |
| 33 | As of [440], using {{{edit_inline_type}}} in your models is deprecated, in favor of a less-redundant approach that uses {{{edit_inline}}} itself. |
| 34 | |
| 35 | Example of old syntax: |
| 36 | {{{edit_inline=True, edit_inline_type=meta.TABULAR}}} |
| 37 | |
| 38 | Example of new syntax: |
| 39 | {{{edit_inline=meta.TABULAR}}} |
| 40 | |
| 41 | We'll stop supporting the old syntax for Django's first release. |
| 42 | |
| 43 | == Upcoming changes == |
| 44 | |
| 45 | === Model syntax === |
| 46 | |
| 47 | Model syntax will be changed dramatically before Django's first release. See #122 for full information and discussion. |