Code

Changes between Version 233 and Version 234 of BackwardsIncompatibleChanges


Ignore:
Timestamp:
08/12/08 01:02:11 (6 years ago)
Author:
mtredinnick
Comment:

Changed "exact" filtering on MySQL (again)

Legend:

Unmodified
Added
Removed
Modified
  • BackwardsIncompatibleChanges

    v233 v234  
    6666 * [8143] July 30, 2008 [#DecimalFieldconversiontightened DecimalField conversion tightened] 
    6767 * [8162] July 30, 2008 [#Passwordresetsystemchangedtoimprovesecurityandusability  Password reset system changed to improve security and usability ] 
    68  * [8191] Aug. 1, 2008 [#Removedseveraldeprecatedfeaturesfor1.0 Removed several deprecated features for 1.0] 
    69  * [8202] Aug. 3, 2008 [#Removeddictionaryaccesstorequestobject Removed dictionary access to request object] 
    70  * [8211] Aug. 5, 2008 [#urltagnowallowsNoReverseMatchexceptionstopropagate url tag now allows !NoReverseMatch exceptions to propagate]                  
     68 * [8191] Aug 1, 2008 [#Removedseveraldeprecatedfeaturesfor1.0 Removed several deprecated features for 1.0] 
     69 * [8202] Aug 3, 2008 [#Removeddictionaryaccesstorequestobject Removed dictionary access to request object] 
     70 * [8211] Aug 5, 2008 [#urltagnowallowsNoReverseMatchexceptionstopropagate url tag now allows !NoReverseMatch exceptions to propagate]                  
    7171 * [8223] Aug 6, 2008 [#Signalrefactoring Signal/dispatch refactoring] 
    7272 * [8230] Aug 8, 2008 [#Peruvianlocalflavorchange Peruvian localflavor change] 
    7373 * [8244] Aug 8, 2008 [#Filestoragerefactoring File storage refactoring] 
    7474 * [8273] Aug 9, 2008 [#save_addandsave_changeRemovedfromModelAdmin save_add and save_change Removed from ModelAdmin] 
    75  * [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] 
     75 * [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] 
     77 * [8319] Aug 12, 2008 [#RestoredearlierexactmatchingforMySQL Restored earlier exact matching for MySQL] 
    7778 
    7879== Changed 'spaceless' template tag to remove all spaces == 
     
    601602== Exact Comparisons Respect Case In MySQL == 
    602603 
     604**This change is no longer applicable. See [#RestoredearlierexactmatchingforMySQL below] for details on when it was changed back.** 
     605 
    603606The documented behaviour of the `__exact` comparison in Django's ORM is that it is case-sensitive. For case-insensitive searches, there is `__iexact`. On some MySQL installations (which includes most default installations), `__exact` was using case-''in''sensitive matching. This was changed in [7798] so that using `__exact` will respect the case of the argument, bringing it into line with all the other database backends. 
    604607 
     
    11531156Lastly, 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. 
    11541157 
     1158== Restored earlier exact matching for MySQL == 
     1159For MySQL users only: Due to a number of unintended side-effects and after carefully considering the alternatives, the changes from [7798] were reverted in [8319]. Thus, `__exact` filters in MySQL now use the database table's native collation setting to determine whether the match is case-sensitive or case-insensitive. 
     1160 
     1161[http://www.djangoproject.com/documentation/db-api/#exact The documentation] for `exact` has been updated to indicate how to control this behaviour.