使用Django South从具体继承过渡到抽象继承

使用Django South从具体继承过渡到抽象继承,第1张

使用Django South从具体继承过渡到抽象继承
  1. 添加NewbaseModel,我们使用不同的名称,因此它不会与当前的非抽象名称冲突(South实际上会删除baseModel)。

    class NewbaseModel(models.Model):user = models.ForeignKey(User)another_field = models.CharField(max_length=1000)class meta:    abstract = True
  2. 将Model1和Model2设置为继承自NewbaseModel

  3. 运行schemamigration –auto,将向Model1和Model2添加2个新字段

  4. 运行datamigration –empty并从baseModel中的值填充新字段
  5. 加载生产数据库并仔细检查所有已正确迁移的内容
  6. 删除baseModel并将NewbaseModel重命名为baseModel
  7. 运行schemamigration –auto(这 应该 工作;))
  8. 部署!

注意:迁移以使用模型架构的当前状态时,请使用 orm 变量。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5642943.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存