Loading docs/ref/databases.txt +10 −0 Original line number Diff line number Diff line Loading @@ -228,6 +228,16 @@ storage engine, you have a couple of options. .. _AlterModelOnSyncDB: http://code.djangoproject.com/wiki/AlterModelOnSyncDB Boolean fields in Django ------------------------- Since MySQL doesn't have a direct ``BOOLEAN`` column type, Django uses a ``TINYINT`` column with values of ``1`` and ``0`` to store values for the :class:`~django.db.models.BooleanField` model field. Refer to the documentation of that field for more details, but usually this won't be something that will matter unless you're printing out the field values and are expecting to see ``True`` and ``False.``. .. _oracle-notes: Loading docs/ref/models/fields.txt +13 −0 Original line number Diff line number Diff line Loading @@ -296,6 +296,19 @@ A true/false field. The admin represents this as a checkbox. .. admonition:: MySQL users.. A boolean field in MySQL is stored as a ``TINYINT`` column with a value of either 0 or 1 (most databases have a proper ``BOOLEAN`` type instead). So, for MySQL, only, when a ``BooleanField`` is retrieved from the database and stored on a model attribute, it will have the values 1 or 0, rather than ``True`` or ``False``. Normally, this shouldn't be a problem, since Python guarantees that ``1 == True`` and ``0 == False`` are both true. Just be careful if you're writing something like ``obj is True`` when ``obj`` is a value from a boolean attribute on a model. If that model was constructed using the ``mysql`` backend, the "``is``" test will fail. Prefer an equality test (using "``==``") in cases like this. ``CharField`` ------------- Loading Loading
docs/ref/databases.txt +10 −0 Original line number Diff line number Diff line Loading @@ -228,6 +228,16 @@ storage engine, you have a couple of options. .. _AlterModelOnSyncDB: http://code.djangoproject.com/wiki/AlterModelOnSyncDB Boolean fields in Django ------------------------- Since MySQL doesn't have a direct ``BOOLEAN`` column type, Django uses a ``TINYINT`` column with values of ``1`` and ``0`` to store values for the :class:`~django.db.models.BooleanField` model field. Refer to the documentation of that field for more details, but usually this won't be something that will matter unless you're printing out the field values and are expecting to see ``True`` and ``False.``. .. _oracle-notes: Loading
docs/ref/models/fields.txt +13 −0 Original line number Diff line number Diff line Loading @@ -296,6 +296,19 @@ A true/false field. The admin represents this as a checkbox. .. admonition:: MySQL users.. A boolean field in MySQL is stored as a ``TINYINT`` column with a value of either 0 or 1 (most databases have a proper ``BOOLEAN`` type instead). So, for MySQL, only, when a ``BooleanField`` is retrieved from the database and stored on a model attribute, it will have the values 1 or 0, rather than ``True`` or ``False``. Normally, this shouldn't be a problem, since Python guarantees that ``1 == True`` and ``0 == False`` are both true. Just be careful if you're writing something like ``obj is True`` when ``obj`` is a value from a boolean attribute on a model. If that model was constructed using the ``mysql`` backend, the "``is``" test will fail. Prefer an equality test (using "``==``") in cases like this. ``CharField`` ------------- Loading