Django:数据库中的默认值,而不仅仅是ORM

gue*_*tli 6 database django orm default-value

我想为数据库中的一列提供一个默认值,而不仅仅是django orm。

相关票证处于“ wontfix”状态:https ://code.djangoproject.com/ticket/470

在关系数据库中创建默认值的首选方法是什么?

在我的情况下,这是一个BooleanField,应默认为FALSE。

我使用PostgreSQL,但是AFAIK在这种情况下应该无关紧要。

gue*_*tli 5

我这样解决了。该文件是使用创建的manage.py makemigrations。我只在底部添加了一行。

class Migration(migrations.Migration):

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='State',
            fields=[
                ('id', models.CharField(max_length=256, serialize=False, primary_key=True)),
                ('state', models.BooleanField(default=True)),
            ],
            bases=(models.Model,),
        ),

        ### The following line was added 
        migrations.RunSQL('alter table box_state alter column state set default false')
    ]
Run Code Online (Sandbox Code Playgroud)