OperationalError没有这样的表:categories_article

时间:2018-03-02 13:08:11

标签: python django

当我进入django管理界面并点击“文章”时,我收到错误:

OperationalError at /admin/categories/article/
no such table: categories_article
Request Method: GET
Request URL:    http://127.0.0.1:8000/admin/categories/article/
Django Version: 1.9
Exception Type: OperationalError
Exception Value:    
no such table: categories_article
Exception Location: \Envs\django19\lib\site-packages\django\db\backends\sqlite3\base.py in execute, line 323
Python Executable:  \Envs\django19\Scripts\python.exe
Python Version: 3.6.3

admin.py

from django.contrib import admin
from .models import Category, Article


admin.site.register(Category)
admin.site.register(Article)

models.py

from django.db import models


class Category(models.Model):
    category_name = models.CharField(max_length=200)


class Article(models.Model):
    title = models.CharField(max_length=200)
    text = models.TextField(max_length=20000)

如何在django admin中创建新的“文章”对象?

1 个答案:

答案 0 :(得分:0)

问题在于您的迁移,但很难说哪个文件导致迁移错误。您必须在迁移目录中检查每个迁移文件。它基本上是因为你有一个迁移,你已经在其中创建了表文章,并且某种方式django跳过了该迁移,创建了新的迁移文件并将之前的迁移标记为成功。尝试其中一种方法

1)执行此操作的一种方法是找到创建 Article 表的迁移文件,删除该迁移文件并将下一个迁移文件的依赖关系更改为上一个迁移文件,否则django将抛出一个错误。然后:

python manage makemigrations
python manage migrate

2)将模型文章的名称更改为文章之类的名称,然后运行迁移命令:

python manage makemigrations
python manage migrate

3)如果以上都不起作用。这肯定会。删除所有迁移并重新运行所有迁移。