django float round tripping

Robin Becker robin at
Fri Apr 7 06:41:56 EDT 2017

I've been having problems with django FloatFields not round tripping properly; eg

field = 0.018903438896219302

gets saved and returns as


It turns out that this is a property of the MySQLdb python interface where in we have the definition

def Float2Str(o, d):
     return '%.15g' % o

if I change this to

def Float2Str(o, d):
     return repr(o)

I do seem able to get reproducibility.

Are there any downsides to making this change?
Robin Becker

More information about the Python-list mailing list