2012-10-17 25 views
1

我的一个车型使用BIGINT场有一个字段定义的PositiveSmallIntegerField。在描述表格时,我已经看到它已被定义为INTEGER迁移PositiveSmallIntegerField到PositiveIntegerField和Postgres的

我想存储的更大范围的值,因此我修改我的模型使用PositiveIntegerField

现在,当我跑南产生迁移,它说,没有在模型中修改的?我可以清楚地看到自己的变化,但South忽略了这一点为什么?

将使用PositiveIntegerField使用的Postgres的BIGINT场? Django是否支持Postgres的BIGINT字段?

+1

你总是可以'ALTER TABLE thetable ALTER COLUMN thecol TYPE bigint;' –

+0

@CraigRinger,是的,这是真的,但它是正确的方法?如果没有别的,我将不得不采取这种方法。 –

回答

5

你可以使用Django的内置BigIntegerField而不是PositiveIntegerField

如果南方仍然无视这种变化,你可以创建一个empty migration,并添加以下到您的forwards方法:

db.alter_column('table_name', 'column', self.gf('django.db.models.fields.BigIntegerField')) 

希望它能帮助:)

+0

我应该更彻底地阅读文档。我甚至不知道存在'BigIntegerField'。如果可以的话,我会再给你一个+1。 –