Opened 12 years ago
Closed 10 years ago
#20377 closed Cleanup/optimization (fixed)
BinaryField doesn't work on MySQL and Python 3
Reported by: | Aymeric Augustin | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | dev |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Someday/Maybe | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
An unofficial port of MySQLdb appears to be the only solution to connect to MySQL from Python 3 at this time, see [e81e319f].
Unfortunately, its handling of binary data is very buggy. For instance, this code is almost certainly wrong:
def Binary(x): return str(x)
There are other problems, like attempting to decode all bytestrings as UTF-8.
With no short-term solution in sight, tests involving BinaryField were marked as expected failures on MySQL and Python 3 in [7476d96f].
This commit should be reverted once a production-grade, Python 3-compatible database adapter exists for MySQL.
Change History (7)
comment:1 by , 12 years ago
Description: | modified (diff) |
---|
comment:2 by , 12 years ago
Triage Stage: | Accepted → Someday/Maybe |
---|
comment:3 by , 12 years ago
comment:4 by , 12 years ago
Regarding MySQLdb, I haven't reported this bug upstream, because I don't even where to report it, given the current fragmentation.
comment:7 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
FWIW, I also tested this with PyMySQL (branch here: https://github.com/claudep/django/tree/pymysql) and it suffers from the exact same issue.
See also https://github.com/petehunt/PyMySQL/issues/142