Django app中的OperationalError:models.py

时间:2017-07-10 02:52:26

标签: python django

我的models.py代码中存在OperationalError。 任何人都可以查明问题吗? 我尝试删除缓存(以及之前的迁移)并执行它们 - 没有帮助解决这个问题。

from django.db import models

# Create your models here.

class Topic(models.Model):
    """A post within a blog."""
    text = models.CharField(max_length=200)
    date_added = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        """Return a string representation of a model."""
        return self.text

class Post(models.Model):
    """Class for Blog Post entries."""
    topic = models.ForeignKey(Topic)
    text = models.TextField()
    date_added = models.DateTimeField(auto_now_add=True)

    class Meta:
        verbose_name_plural = 'posts'

    def __str__(self):
        """Return a string representation of the model."""
        return self.text[:50] + "..."

如果有帮助,它会给我以下错误:

OperationalError at /admin/blogs/post/
no such table: blogs_post

admin.py:

from django.contrib import admin

# Register your models here.

from blogs.models import Topic, Post

admin.site.register(Topic)
admin.site.register(Post)

1 个答案:

答案 0 :(得分:0)

如果更改了类名,那么您可能拥有旧类名的对象,而迁移无法找到该表。

删除项目文件夹中的db.sqlite3文件。删除所有以前的迁移。然后makemigrations然后migrate。这基本上会重置所有内容并删除所有对象。您之后也必须重新创建超级用户。

希望这有帮助,。