gpt4 book ai didi

Django + South - 迁移无法转换列类型 - 要我使用 "USING"

转载 作者:行者123 更新时间:2023-11-29 11:21:32 24 4
gpt4 key购买 nike

当我尝试运行 ./manage.py migrate my_app 时出现此错误:

django.db.utils.ProgrammingError: column "associated" cannot be cast automatically to type integer
HINT: Specify a USING expression to perform the conversion.

这听起来是个不错的建议,但我不知道 South 希望我做什么。我应该手动编辑自动生成的 python 迁移文件吗?如果是,如何——我在该文件中没有看到标准 SQL。相反,我看到了这个:

# Changing field 'MyTable.associated'
db.alter_column(u'data_mytable', 'associated',
self.gf('django.db.models.fields.IntegerField')()
)

此外,为什么 South 不接受这一点并自动添加 USING 子句?

最佳答案

这是我的肮脏黑客:

  1. 手动添加一个 migraton 以删除 offendig 字段,即

migrations.RemoveField(
model_name='name_of_the_model',
name='offending_field',
)
2. 然后我将提示迁移的操作从 AlterField 更改为 AddField 即

migrations.AddField(
model_name='name_of_model',
name='name_of_field',
field=models.ForeignKey(blank=True, null=True, to='ForeignKeyModel'),
preserve_default=False,
),

```

关于Django + South - 迁移无法转换列类型 - 要我使用 "USING",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22311427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com