diff options
Diffstat (limited to 'docs/ref/models')
| -rw-r--r-- | docs/ref/models/fields.txt | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt index 8412f02d73..97ca83aa52 100644 --- a/docs/ref/models/fields.txt +++ b/docs/ref/models/fields.txt @@ -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`` ------------- |
