首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django“找不到这样的表”错误,即使是在完成之后。

Django“找不到这样的表”错误,即使是在完成之后。
EN

Stack Overflow用户
提问于 2022-06-27 06:49:45
回答 1查看 70关注 0票数 0

为了节省时间,我删除了db.sqlite3文件和与数据库更改相关的每个000x.py。我重新运行制造和迁移,重建数据库,一切最终恢复正常.我还不明白这个问题,但问题已经解决了。

最近,我在我的模型文件中添加了一个新的表RunningTable,并同时执行了两个:python manage.py makemigrationspython manage.py migrate。这两个命令都返回了成功。我检查了APPName/迁移/000x.py中的文件,RunningTable就在那里。但是我的代码运行在这个表中,没有找到错误。

我试着用下面的图片来检查Django shell。正如您所看到的,我可以从正确的路径导入它。但是当我调用RunningTable.objects.all()时失败了。有人能告诉我为什么会发生这个错误吗?添加更多:这个表还没有数据。这有关系吗?

models.py代码(部分):

代码语言:javascript
复制
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中看到自动生成的片段,这似乎是非常正确的:

代码语言:javascript
复制
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)),
            ],
        ),
EN

回答 1

Stack Overflow用户

发布于 2022-06-27 07:02:37

尝试删除当前的DataBase文件和所有移动文件。在当前应用程序的迁移文件夹中

代码语言:javascript
复制
001_something.py

并运行Makemigrations并迁移

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72767968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档