2013-02-22 34 views
1

一次性值我添加了一个DecimalField到我的模型如何指定十进制作为Django的南迁

dec_field = models.DecimalField(max_digits=6, decimal_places=3) 

后,我试图创建与韩国的汽车schemamigration文件,我尝试指定一个一次性值利用现在已有的列,但...

? Please enter Python code for your one-off default value. 
? The datetime module is available, so you can do e.g. datetime.date.today() 
>>> Decimal('15.4') 
! Invalid input: name 'Decimal' is not defined 
>>> from decimal import * 
! Invalid input: invalid syntax (<string>, line 1) 

是否有可能对我来说,指定一个十进制默认值(无损,所以浮动并不理想),如果又如何?

+0

您是否尝试只输入一个零? – schneck 2013-02-22 07:53:29

+0

我没有尝试输入零。我猜0是一个不好的例子。基本上,我想要一个无损的小数点表示(所以浮点数将是不理想的) – fangsterr 2013-02-22 08:45:22

+0

datetime库不可用于您。为什么不简单地在字段构造函数中添加一个默认值? – 2013-02-22 09:55:33

回答

1

接受的答案确实是离奇的。

正确的答案是,南迁移是由设计,用户可编辑和schemamigration --auto并不总是做一个完美的工作。在这种情况下,我只需输入一个易于在文件中找到的值(例如,'0.445'),然后编辑该文件,为Decimal添加适当的导入,并修改代码以使用Decimal('0.445')而不是生成的迁移中的值。