【发布时间】:2021-07-14 19:51:19
【问题描述】:
我正在尝试从我创建的 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 设置运行时,它工作正常。添加节目和片段就好了。
不知道这里出了什么问题。知道我做错了什么吗?
【问题讨论】: