【发布时间】:2016-09-18 09:27:00
【问题描述】:
我已将 10,000 多条记录从旧的 MySQL 数据库迁移到 Django/sqlite。在我旧的 mysql 模式的 Song 表中,艺术家字段不是一对多字段,而只是一个 mysql varchar 字段。在我的新 Django 模型中,我将艺术家字段转换为 ForeignKey 并使用 temp_artist 临时存储旧数据库中的艺术家姓名。
如何根据 temp_artist 字段创建每个 Song 实例的艺术家外键?我假设我应该使用经理的 get_or_create 方法,但我在哪里以及如何编写代码?
下面是我的模型:
class Artist (models.Model):
name = models.CharField(max_length=100)
class Song (models.Model):
artist = models.ForeignKey(Artist, blank=True, null=True, on_delete=models.CASCADE, verbose_name="Artist")
temp_artist = models.CharField(null=True, blank=True, max_length=100)
title = models.CharField(max_length=100, verbose_name="Title")
duration = models.DurationField(null=True, blank=True, verbose_name="Duration")
【问题讨论】: