python - 如何在 django 中使用 South 将 CharField 替换为foreignkey?

标签 python django django-south

我的任务模型:

class Tasks(models.Model):
    state = models.CharField(max_length = 150)

我想将状态字段更改为ForeignKey,例如state = models.ForeignKey(States)

状态模型的位置:

class States(model.Model):
    name = models.CharField(max_length = 150)

顺便说一句,我正在使用 Django non-reldjango mongodb。

使用南线容易吗?还是有其他方法吗?

最佳答案

我将分六个步骤完成(迁移):

  • 第一步 data_migration(south 命令):我创建 States 对象。
  • 第二步 schema_migration(南命令):我在任务中添加一个 fk,名称为 state_bk
  • 第三步a data_migration:迁移所有任务并为任务分配状态
  • 季度 schema_migration:删除 states charfield 并创建 states fk
  • 第五次data_migration:将state_bk中的值迁移到state
  • 第六个 schema_migration:删除 state_bk 字段

这很简单,但有点乏味

关于python - 如何在 django 中使用 South 将 CharField 替换为foreignkey?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10462864/

相关文章:

python - 仅当两个值匹配且属于同一 ID 时才合并两个数据帧

python - python : multiple OR or IN in if statement? 中最好的方法是什么

django - 无法在我的电脑上启动 Django 服务器

django - 重新启动 Nginx 或在证书更改时重新加载证书缓存

Django 同步数据库和迁移

python - geodjango 与南导致 "duplicate column name error"与 Spatialight 数据库

python - django mysql 给出页面未找到(404)而 sqlite 工作正常

python - redis-py 的 zcount 语法

python - Django 字段以 lambda 作为默认值且 unique = True

python - 加载到远程 postgres 时 manage.py loaddata 挂起