Changes between Version 228 and Version 229 of BackwardsIncompatibleChanges


Ignore:
Timestamp:
Aug 11, 2008, 7:33:20 AM (16 years ago)
Author:
Russell Keith-Magee
Comment:

Added notes on the creation backend refactor

Legend:

Unmodified
Added
Removed
Modified
  • BackwardsIncompatibleChanges

    v228 v229  
    7474 * [8273] Aug 9, 2008 [#save_addandsave_changeRemovedfromModelAdmin save_add and save_change Removed from ModelAdmin]
    7575 * [8291] Aug. 10, 2008 [#Removedseveralmoredeprecatedfeaturesfor1.0 Removed several more deprecated features for 1.0]
     76 * [8296] Aug. 11, 2008 [#RefactoredtheCreationandIntrospectionmodulesofthedatabasebackends Refactored the Creation and Introspection modules of the database backends]
    7677
    7778== Changed 'spaceless' template tag to remove all spaces ==
     
    11391140 * Support for importing `django.utils.images` was removed. Use `django.core.files.images` instead.
    11401141 * Support for the `follow` argument in the `create_object` and `update_object` generic views was removed. Use the `django.forms` package and the new `form_class` argument instead.
     1142
     1143== Refactored the Creation and Introspection modules of the database backends ==
     1144
     1145In [8296], the creation and introspection modules of the database backends received a major refactoring. This refactoring introduced a consistent class-based interface to the database backend, and isolated SQL and database-specific code behind the relevant database backends. The refactoring also removed several `DatabaseFeature` entries in favor of subclassing methods on the creation interface.
     1146
     1147Most users will not be affected by this change. However, any user that is manually calling features of the creation and/or introspection modules of the database will need to modify the way they access those modules:
     1148
     1149 * The creation module, previously provided using `django.db.get_creation_module()`, is now available on the database connection as the attribute `connection.creation`.
     1150 * The introspection module, previously provided using `django.db.get_introspection_module()` is now available on the database connection as the attribute `connection.introspection`.
     1151 * The DB shell, previously accessed using `django.db.runshell()` is now available on the database connection as`connection.client.runshell()`.
     1152
     1153In addition, any user that is maintaining an external database backend will need to update their code to use the new interface. The new class-based approach should make backend development much easier, as common behavior can be inherited from the base classes in django.db.backends; only database-specific behavior should require implementation.
Back to Top