- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个现有的填充数据库,我想将 PositiveIntegerField
转换为 FloatField
。我正在考虑简单地进行迁移:
migrations.AlterField(
model_name='mymodel',
name='field_to_convert',
field=models.FloatField(
blank=True,
help_text='my helpful text',
null=True),
),
当前字段定义为:
field_to_convert = models.PositiveIntegerField(
null=True,
blank=True,
help_text='my helpful text')
这是否需要完全重写数据库列?对于更大的数据库,这种转换的扩展性如何?如果绝大多数值都是 null
,它会如何扩展?这种转换在什么情况下会失败?如果有所不同,这是由 Postgres 数据库支持的。
最佳答案
不,不会。我用 PostgreSQL、MySQL 和 SQLite 做了一个实验,从整数到 float 的转换在每种情况下都很顺利,我还将一些值设置为 null 以匹配您的情况。
如果您有一个值 3
,它只会更改为 3.0
。
好吧,由于您在字段的配置中保留了 null=True
,因此所有空值都将保持为空,这没有问题。如果删除 null=True
,您可能需要指定一个 default
值。
获取一个 int 列并将其转换为 float(real)应该不会失败,如果你发现一个奇怪的、奇怪的和非常特殊的情况,那将是一个非常大的发现。
...您可以先使用 sqlmigrate 查看迁移 SQL ,当然,您可以备份您的数据库。
关于django - 将 PositiveIntegerField 迁移到 FloatField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54487527/
我的一个模型中有一个FloatField。我使用ModelForms添加/编辑它。我需要的是 当我编辑时,存储在FloatField中的Float值将以2个精确点进行渲染。 即如果我的存储值为1000
考虑以下示例模型: class Product(models.Model): weight = FloatField(db_index=True, null=True, blank=True)
我在我的 Django 模型中存储了一些 float 据,只有特定范围的值才有意义。因此,我想在模型和 SQL 约束级别都施加这些限制。 例如,我想做这样的事情: class Foo(Model):
*mit = 13311 std::istringstream iss(*mit); double temp; iss.setf(ios::fixed, ios::floatfield); iss.p
我的模型中有一个 FloatField。该区域右侧的增加和减少按钮通常增加或减少 1。是否有可能做到这一点 1000 x 1000?我该怎么做? 模型.py class Customer(models
我正在尝试创建一个自定义表单字段,其工作方式与浮点字段的所有意图和目的相同,但(默认情况下)输出不带尾随零的浮点值,例如33 而不是 33.0 我尝试像这样简单地扩展 django.forms.Flo
我有一个 FloatField,它可以有 22.33405、33.567 等值。现在,我需要查询最多使用小数点后 2 位,如下所示 #find all objects with value equal
java fx.h 中有 FloatField 这样的东西吗?我需要能够编写和编辑 float 。所以我用字符串测试了它。但setCellProperty不支持 float TableColumn c
我很好奇哪个更适合作为货币字段?我会做一些简单的操作,比如取差,新旧价格之间的百分比。我计划在零后保留两位数字(即 10.50),如果这些数字为零,大多数情况下,我将隐藏这些数字并将其显示为“10”
当我尝试获取“高度”和“体重”变量的值以用于计算时,我在第 8 行收到错误: “类 FloatField”未定义“truediv”,因此不能在其实例上使用“/”运算符。此检查检测到应该解析但没有解
我有一个现有的填充数据库,我想将 PositiveIntegerField 转换为 FloatField。我正在考虑简单地进行迁移: migrations.AlterField(
我试图将无穷大放入 FloatField 中,但这似乎不起作用。我该如何解决这个问题? f = DjangoModel(float_value=float('inf')) #ok f.save() #
我有一个类,我正在尝试向它添加一个新的 FloatField。 Django 想要一个默认值来填充现有行(合理)。但是,它拒绝接受我给它的任何值。 You are trying to add a no
我正在寻找一种将 Django 中的 FloatField 限制为小数点后两位的方法,有没有人知道如何在不使用 DecimalField 的情况下完成此操作。 我尝试了 decimal_places=
我希望能够查询一个模型以获取对于特定浮点字段没有值的记录。问题是基本查询: Model.objects.filter(float_field__is_null=True) 返回以下错误:django
我有一个带有价格字段的 Django 模型: class Book(models.Model): title = models.CharField(max_length=200) pr
我是 Python 和 Django 新手。 我希望我的模型具有经过范围验证的 float 。来自 this answer我写的是: class FloatRangeField (FloatField
问题 我需要添加将 minimum_commission 保存为正数的功能,但 None 也可用。我已经添加了序列化器: class Appartement(models.Model): mi
如何在 Django 模型中设置 FloatField 可以容纳的最大值? price_upper_bound = models.FloatField(null=True, blank=True, d
我正在使用 Django pgcrypto fields加密模型中的金额值 Invoice如下: from pgcrypto import fields class Invoice(models.Mo
我是一名优秀的程序员,十分优秀!