【问题标题】:Introduce a ForeignKey filed in my Project Model在我的项目模型中引入外键字段
【发布时间】:2021-12-28 18:30:29
【问题描述】:

我有一个系统使用,

class MyModel(models.Model)
    book_classes = (("","Select"),("1",'F1'),("2",'F2'),("3",'F3'),("4",'F4'))
    b_class = models.CharField('Form',max_length=4,choices=book_classes,default="n/a")

我想将其切换为使用来自 Klass 模型的外键

class Klass(models.Model):
    name = models.CharField(max_length=20)

class MyModel(models.Model)
    b_class = models.ForeignKey(Klass,on_delete=models.CASCADE)

系统已经有很多数据在使用

class MyModel(models.Model)
    book_classes = (("","Select"),("1",'F1'),("2",'F2'),("3",'F3'),("4",'F4'))
    b_class = models.CharField('Form',max_length=4,choices=book_classes,default="n/a")

更改将对现有数据产生什么影响?

【问题讨论】:

    标签: django django-models foreign-keys


    【解决方案1】:

    它会弄乱保存在数据库中的数据。
    b_classCharField 现在您将其转换为 ForeignKey 这将清空数据。

    最好的方法是:
    1- 将当前数据导出到 csv。
    2-创建新的class Klass 3- 将数据输入到具有相同格式的新类中:
    id = 1 , name = F1
    id = 2 , name = F2
    ,...

    3- 然后将您的MyModel 转换为新格式。
    4- 从 csv 导入数据

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-24
      • 2016-09-18
      • 1970-01-01
      • 2016-06-18
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      相关资源
      最近更新 更多