models.FloatField
在MySQL中创建了一个双
是否可以创建浮点精度字段而不是双精度?
justification类似于拥有SmallIntegerField。
答案 0 :(得分:3)
那么有一个比这更好的方法,也更容易一个。当我在django中遇到以下db_type()方法时,我也想和我的db一样。
首先,您需要通过继承Field类
在django中创建自定义Fieldclass 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/
中提到了有关此内容的更多信息答案 1 :(得分:2)
有几个选项可以做到这一点,但我不明白你为什么要这样做。
FloatField
并更改get_internal_type()
,以便返回SinglePrecisionFloatField
之类的内容。之后,您还需要创建自己的数据库后端并添加自定义类型到creation.DatabaseCreation.data_types
(来源:http://code.djangoproject.com/browser/django/trunk/django/db/backends/mysql/creation.py)FloatField
更改为单精度。如上所述,您必须创建自己的数据库后端和/或更改当前的FloatField
实现。