Chr*_*ris 6 python django decimal django-models
我正在尝试在数据库中进行插入,但似乎是 Decimals 的问题。
我有latitude
和longitude
,是一个像下面这样的例子:
latitude = models.DecimalField(max_digits=30, decimal_places=15)
Run Code Online (Sandbox Code Playgroud)
然后,当我尝试插入时,我写道:
Place(name="center", description="study center", latitude=41.214555, longitude=2.121451)
Run Code Online (Sandbox Code Playgroud)
但我得到了那个错误: "quantize result has too many digits for current context"
我应该能够得到那些数字,对吧?我不明白为什么我会收到那个错误。如果有人可以帮助我,我会非常感激。
考虑这个模型:
class Place(models.Model):
name = models.TextField()
description = models.TextField()
longitude = models.DecimalField(max_digits=30, decimal_places=15)
latitude = models.DecimalField(max_digits=30, decimal_places=15)
Run Code Online (Sandbox Code Playgroud)
这应该有效(使用的最大允许位数和小数位数):
p = Place(
name='Name',
description='Description',
latitude=0123456789012345.0123456789012345,
longitude=0123456789012345.0123456789012345
)
p.save()
Run Code Online (Sandbox Code Playgroud)
这应该失败(值超过顶部):
p = Place(
name='Name',
description='Description',
latitude=01234567890123456.01234567890123456,
longitude=01234567890123456.01234567890123456
)
p.save()
Run Code Online (Sandbox Code Playgroud)
确保在更改 Django 代码后相应地迁移/更改了数据库。
归档时间: |
|
查看次数: |
12779 次 |
最近记录: |