首页 > 解决方案 > django.db.utils.OperationalError:没有这样的表 Django 2

问题描述

我做了什么:

  1. 我删除了数据库
  2. 删除了 pycache 文件和迁移文件
  3. python manage.py makemigrations app_name 和 python manage.py migrate app_name
  4. 多次关闭服务器

但这是我收到的错误:

在此处输入图像描述

设置.py

INSTALLED_APPS = [
    'blog',
    'users',
    'crispy_forms',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

]

用户/模型.py

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    image = models.ImageField(default='default.jpg', upload_to='profile_pics')

    def __str__(self):
        return f'{self.user.username} Profile'

    def save(self, *args, **kwargs):
        super().save()

        img = Image.open(self.image.path)

        if img.height > 300 or img.width > 300:
            output_size = (300, 300)
            img.thumbnail(output_size)
            img.save(self.image.path)

博客/models.py

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)
    author = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse('post-detail', kwargs={'pk': self.pk})

标签: pythondjangodjango-modelsdatabase-migration

解决方案


我认为您没有正确迁移博客应用程序模型。你能显示你的博客应用程序的迁移文件吗?你应该在你的模型中的 Meta 类中定义你的 db_name 否则你的模型会附加到你的应用程序上,这将来会给你带来麻烦


推荐阅读