我正在使用“Django Non-rel”和Django-MongoDB ORM“用于MongoDB Nosql数据库的项目。我需要更改我的一个模型并向其添加一个ForeignKey字段。我认为South会帮助数据迁移,但我知道南方不支持MongoDB。我的模型是这样的:
class Projects(models.Model):
projectName =models.CharField(max_length = 100,unique=True,db_index=True)
projectManager = models.ForeignKey('auth.User')
我需要将states = models.ForeignKey('States')
添加到我的模型中。但我不知道如何在没有南方的情况下执行此操作,以便它不会在我现有的数据库中创建问题。请帮助人员:(
答案 0 :(得分:1)
我正在使用django non-rel on appengine,这可能无法完美地转换为MongoDB,但我怀疑它是一样的。
我一直在做以下事情,需要几步。
这可确保数据库中的现有模型不会导致Django抛出异常。
编写一个脚本,查询所有项目并更新其projectManager字段
使用null = False再次更新模型 projectManager = models.ForeignKey('auth.User')
既然DB中没有任何对象具有projectManager的空字段,则可以删除空标志。