小编Cri*_*gas的帖子

Django Postgresql 在迁移时删除列默认值

我面临着表格默认值的问题。

例如我有这个模型:

class model1(models.Model):
        field1 = models.CharField(max_length=50, default='My Default Value 1',db_column='field1')
        field2 = models.CharField(max_length=10)

        class Meta:
            db_table = 'model1'
Run Code Online (Sandbox Code Playgroud)

并且 postgresql 表是在没有默认值的情况下生成的:

mydb=# \d model1
                                Table "public.model1"
 Column |         Type          |                      Modifiers                      
--------+-----------------------+-----------------------------------------------------
 id     | integer               | not null default nextval('model1_id_seq'::regclass)
 field1 | character varying(50) | not null
 field2 | character varying(10) | not null
Indexes:
    "model1_pkey" PRIMARY KEY, btree (id)
Run Code Online (Sandbox Code Playgroud)

migrate sqlmigrate 的输出是:

CREATE TABLE "model1" ("id" serial NOT NULL PRIMARY KEY, "field1" varchar(50) NOT NULL, "field2" varchar(10) NOT …
Run Code Online (Sandbox Code Playgroud)

django postgresql default migrate

3
推荐指数
1
解决办法
1390
查看次数

标签 统计

default ×1

django ×1

migrate ×1

postgresql ×1