尝试加载数据时 - 安装夹具时出现错误问题

时间:2021-07-14 19:51:19

标签: mysql django

我正在尝试从我创建的 db.json 文件中加载数据(Sqlite db 是源)。原数据库是Sqlite,我尝试迁移到Mysql。

在 Sqlite 下一切正常。我收到以下错误:

django.db.utils.OperationalError: 安装装置 '/home/balh/blah/db.json' 时出现问题:无法加载 trackx_site.Segment(pk=1): (1054, "Unknown column 'program_id' in '字段列表'")

好像 Mysql 表没有外键什么的?.....模型看起来像这样:

class Program(models.Model):
    air_date             = models.DateField(default="0000/00/00")
    air_time             = models.TimeField(default="00:00:00")
    service              = models.CharField(max_length=10)
    block_time           = models.TimeField(default="00:00:00")
    block_time_delta     = models.DurationField(default=timedelta)
    running_time         = models.TimeField(default="00:00:00",blank=True)
    running_time_delta   = models.DurationField(default=timedelta)
    remaining_time       = 
models.TimeField(default="00:00:00",blank=True)
    remaining_time_delta = models.DurationField(default=timedelta)
    title                = models.CharField(max_length=190)
    locked_flag          = models.BooleanField(default=False)
    locked_expiration    = models.DateTimeField(null=True,default=None,blank=True)
    deleted_flag         = models.BooleanField(default=False)
    library              = models.CharField(null=True,max_length=190,blank=True)
    mc                   = models.CharField(max_length=64)
    producer             = models.CharField(max_length=64)
    editor               = models.CharField(max_length=64)
    remarks              = models.TextField(null=True,blank=True)
    audit_time           = models.DateTimeField(auto_now=True)
    audit_user           = models.CharField(null=True,max_length=32)

class Segment(models.Model):
    class Meta:
      ordering = ['sequence_number']

    program = models.ForeignKey(Program,
        on_delete=models.CASCADE,
        related_name='segments',   # link to Program
    )
    sequence_number          = models.DecimalField(decimal_places=2,max_digits=6,default="0.00")
    title                    = models.CharField(max_length=190, blank=True)
    bridge_flag              = models.BooleanField(default=False)
    seg_length_time          = models.TimeField()
    seg_length_time_delta    = models.DurationField(default=timedelta)
    seg_run_time             = models.TimeField(default="00:00:00",blank=True)
    seg_run_time_delta       = models.DurationField(default=timedelta)
    seg_remaining_time       = models.TimeField(default="00:00:00",blank=True)
    seg_remaining_time_delta = models.DurationField(default=timedelta)
    author                   = models.CharField(max_length=64,null=True,default=None,blank=True)
    voice                    = models.CharField(max_length=64,null=True,default=None,blank=True)
    library                  = models.CharField(max_length=190)
    summary                  = models.TextField()
    audit_time               = models.DateTimeField(auto_now=True)
    audit_user               = models.CharField(null=True,max_length=32)

当我尝试使用 Mysql db 设置运行服务器时,我也遇到错误。它不允许我在模型中添加记录,并给我一个错误,抱怨 program_id。我没有任何我知道的名为 program_id 的东西..(我查看了所有代码)。 当我使用 Sqlite db 设置运行时,它工作正常。添加程序和段就好了。

不知道这里出了什么问题。知道我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

我发现我的 mysql 数据库没有正确迁移。部分问题是它试图进行所有迁移,但由于它是新数据库的初始构建,因此我不需要进行所有迁移(不知何故在那里正确发生了一些事情)。删除了所有迁移,进行了初始 makemigrations 和迁移,并且我的外键创建正确,没有更多问题。

相关问题