为了节省时间,我删除了db.sqlite3文件和与数据库更改相关的每个000x.py。我重新运行制造和迁移,重建数据库,一切最终恢复正常.我还不明白这个问题,但问题已经解决了。
最近,我在我的模型文件中添加了一个新的表RunningTable,并同时执行了两个:python manage.py makemigrations和python manage.py migrate。这两个命令都返回了成功。我检查了APPName/迁移/000x.py中的文件,RunningTable就在那里。但是我的代码运行在这个表中,没有找到错误。
我试着用下面的图片来检查Django shell。正如您所看到的,我可以从正确的路径导入它。但是当我调用RunningTable.objects.all()时失败了。有人能告诉我为什么会发生这个错误吗?添加更多:这个表还没有数据。这有关系吗?
models.py代码(部分):
class RunningTable(models.Model):
instance_id = models.IntegerField()
project_name = models.CharField(max_length=100, choices = PROJNAME_CHOICES, default = "ROMA")
is_running = models.BooleanField(default = False)
is_true_run = models.BooleanField(default = True)
start_datetime = models.DateTimeField(null=True, blank=True)
complete_datetime = models.DateTimeField(null=True, blank=True)
fake_run_result = models.CharField(max_length=1024, default = "")
create_datetime = models.DateTimeField(auto_now = True)

添加另一个屏幕(我删除了迁移文件夹下的文件并重新生成0001_initial.py,如下所示)。表是创建的,但开始时没有数据):

也许我的最后一次尝试是删除db.sqlite3文件,但是我想找出我的确切错误/遗漏,或者有更好的方法来调试这个问题。
我可以在0001_init.py中看到自动生成的片段,这似乎是非常正确的:
migrations.CreateModel(
name='RunningTable',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('instance_id', models.IntegerField()),
('project_name', models.CharField(choices=[('ROMA', 'ROMA'), ('PDK', 'PDK'), ('PMIC', 'PMIC'), ('OTHER', 'OTHER')], default='ROMA', max_length=100)),
('is_running', models.BooleanField(default=False)),
('is_true_run', models.BooleanField(default=True)),
('start_datetime', models.DateTimeField(blank=True, null=True)),
('complete_datetime', models.DateTimeField(blank=True, null=True)),
('fake_run_result', models.CharField(default='', max_length=1024)),
('create_datetime', models.DateTimeField(auto_now=True)),
],
),发布于 2022-06-27 07:02:37
尝试删除当前的DataBase文件和所有移动文件。在当前应用程序的迁移文件夹中
001_something.py并运行Makemigrations并迁移
https://stackoverflow.com/questions/72767968
复制相似问题