python – 南无法创建新字段,因为字段不存在
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 南无法创建新字段,因为字段不存在,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1300字,纯文字阅读大概需要2分钟。
内容图文
![python – 南无法创建新字段,因为字段不存在](/upload/InfoBanner/zyjiaocheng/803/cc8d3fbf46a747d099228099fac55768.jpg)
我正在尝试使用South将新的URLField添加到模型中,例如:
class Document(models.Model):
text = models.TextField()
reference_page = models.URLField(blank=True, null=True)
source_page = models.URLField(blank=True, null=True) # new field
但是,当我运行python manage.py schemamigration myapp –auto时,我得到错误:
DatabaseError: column myapp_document.source_page does not exist
LINE 1: ...ext", "myapp_document"."reference_page", "myapp_doc...
我正在使用PostgreSQL作为我的数据库后端.我正确地初始化了我的南方应用程序,并且已经为它运行了迁移.我确保我的Django和South安装是最新的.
为什么现在会给我这个错误?
编辑:奇怪的是,如果我在数据库中手动创建了列,则schemamigration调用成功,但当然迁移调用失败,直到我手动删除列.这很奇怪.
解决方法:
我已经处理了这个问题几个月了. montiniz在对另一个答案的评论中分享的link有一个0投票的答案解决了我的问题!我在这里张贴它是为了帮助别人……建立知识社区以及所有这些.
问题:schemamigration [app] –auto失败,抱怨缺少列(通常是您尝试迁移架构的新字段…)
在我的情况下,它只会在修改Workgroup模型(一个models.py模型)而不是任何其他模型时抱怨.
解决方案:查找另一个在ForeignKey关系中具有default关键字参数的模型,该关系引用未能迁移的模型.
workgroup = models.ForeignKey(‘core.Workgroup’,default = get_default_workgroup,null = True)
如果删除default关键字参数,则运行管理命令,它应该成功.然后,只需添加原始默认参数.
内容总结
以上是互联网集市为您收集整理的python – 南无法创建新字段,因为字段不存在全部内容,希望文章能够帮你解决python – 南无法创建新字段,因为字段不存在所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。