Any reason you do a __class__.__name__ check here instead of an isinstance? This won't catch IntegerField subclasses (BigIntegerField, for example).