Ну, есть лучший способ, и гораздо более простой. Я также хотел то же самое с моим db, когда натолкнулся на следующий метод db_type () в django.
Во-первых, вам нужно создать собственное поле в django, унаследовав класс поля
class customFloatField(models.Field):
def db_type(self,connection):
return 'float'
тогда вы можете использовать это как любое другое поле модели в вашем классе моделей
number = customFloatField(null=True,blank=True)
Я пытался, и это работает для меня в MySQL. Чтобы изменить его в соответствии с типом соединения, вам нужно будет проверить настройку соединения в операторе if и изменить соответствующим образом.
Подробнее об этом упоминается в https://docs.djangoproject.com/en/dev/howto/custom-model-fields/