mirror of
https://github.com/django/django.git
synced 2025-08-30 23:37:50 +00:00
Fixed queries that may return unexpected results on MySQL due to typecasting.
This is a security fix; disclosure to follow shortly.
This commit is contained in:
parent
c083e3815a
commit
75c0d4ea3a
6 changed files with 95 additions and 2 deletions
|
@ -593,6 +593,17 @@ For example::
|
|||
return ''.join([''.join(l) for l in (value.north,
|
||||
value.east, value.south, value.west)])
|
||||
|
||||
.. warning::
|
||||
|
||||
If your custom field uses the ``CHAR``, ``VARCHAR`` or ``TEXT``
|
||||
types for MySQL, you must make sure that :meth:`.get_prep_value`
|
||||
always returns a string type. MySQL performs flexible and unexpected
|
||||
matching when a query is performed on these types and the provided
|
||||
value is an integer, which can cause queries to include unexpected
|
||||
objects in their results. This problem cannot occur if you always
|
||||
return a string type from :meth:`.get_prep_value`.
|
||||
|
||||
|
||||
Converting query values to database values
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue