From 584e2c03376895aeb0404cc1fcc1ad24dfdbc58e Mon Sep 17 00:00:00 2001 From: Anssi Kääriäinen Date: Sun, 29 Apr 2012 19:25:46 +0300 Subject: Prevent Oracle from changing field.null to True Fixed #17957 -- when using Oracle and character fields, the fields were set null = True to ease the handling of empty strings. This caused problems when using multiple databases from different vendors, or when the character field happened to be also a primary key. The handling was changed so that NOT NULL is not emitted on Oracle even if field.null = False, and field.null is not touched otherwise. Thanks to bhuztez for the report, ramiro for triaging & comments, ikelly for the patch and alex for reviewing. --- docs/ref/models/fields.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'docs/ref/models') diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt index d1f12ffc95..eab7ad91e1 100644 --- a/docs/ref/models/fields.txt +++ b/docs/ref/models/fields.txt @@ -55,9 +55,8 @@ string, not ``NULL``. .. note:: - When using the Oracle database backend, the ``null=True`` option will be - coerced for string-based fields that have the empty string as a possible - value, and the value ``NULL`` will be stored to denote the empty string. + When using the Oracle database backend, the value ``NULL`` will be stored to + denote the empty string regardless of this attribute. If you want to accept :attr:`~Field.null` values with :class:`BooleanField`, use :class:`NullBooleanField` instead. -- cgit v1.3