Changes between Version 171 and Version 172 of BackwardsIncompatibleChanges


Ignore:
Timestamp:
Jun 30, 2008, 5:48:23 AM (16 years ago)
Author:
Malcolm Tredinnick
Comment:

Noted change in BooleanField(required=True)

Legend:

Unmodified
Added
Removed
Modified
  • BackwardsIncompatibleChanges

    v171 v172  
    5959 * [7794] June 30, 2008 [#RemovedOrderingField Removed OrderingField]
    6060 * [7798] June 30, 2008 [#ExactComparisonsRespectCaseInMySQL Exact Comparisons Respect Case In MySQL]
     61 * [7799] June 30, 2008 [#BooleanFieldsinnewformsenforcerequired BooleanFields in newforms enforce "required"]
    6162
    6263== Database constraint names changed ==
     
    630631
    631632The 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.
     633
     634== BooleanFields in newforms enforce "required" ==
     635
     636In [7799], a bug was fixed that meant `required=True` is now enforced by the `newforms.BooleanField`. In this case, "required" means "must be checked" (i.e. must be True). This has been documented for quite a while, but was inadvertently not enforced by the validation code.
     637
     638Since `required=True` is the default behaviour for all form fields, if your code does not set `required=False` on a `BooleanField` and you do not require it to be checked in the HTML form, you will need to change you form definition.
Back to Top