Django - 以 10 python 为底的 int() 无效文字 django

Django - Invalid literal for int() with base 10 python django

我在模型中添加了新的外键 default = 't' 并且 Django 说

Django - Invalid literal for int() with base 10 't'

当我进行迁移时。然后我删除了该行,但由于这个错误我仍然无法迁移。

如果关联模型的主键是int(id默认是int),ForeignKey列也是int。

您现在可以做的是编辑生成的迁移文件(yourapp/migrations/000x_auto_xyz.py)并删除试图设置默认值的部分。例如,如果您的迁移文件如下所示:

class Migration(migrations.Migration):

    dependencies = [
    ...
    ]

    operations = [
        migrations.CreateModel(
            name='Application',
            fields=[
                ...
                ('myforeignkey', models.ForeignKey(to='otherapp.OtherModel', default='t')),
            ],
            ...
    ]

然后只需删除 , default='t' 部分并重新 运行 manage.py migrate.