Python 制作django AJAX时出现操作错误

Python 制作django AJAX时出现操作错误,python,django,django-models,Python,Django,Django Models,这就是我犯的错误 django.db.utils.OperationalError:没有这样的表:照片\u帖子\u喜欢 我跟随这个视频创建了一个like按钮 那时我已经创建了模型(Post)。就在我在models.py中添加新行(likes)并运行makemigrations时,它迁移时没有任何问题。但是,当我运行migrate时,出现了这个错误 这是models.py文件 from django.db import models from django.utils import timezon

这就是我犯的错误

django.db.utils.OperationalError:没有这样的表:照片\u帖子\u喜欢

我跟随这个视频创建了一个like按钮

那时我已经创建了模型(Post)。就在我在models.py中添加新行(likes)并运行makemigrations时,它迁移时没有任何问题。但是,当我运行migrate时,出现了这个错误

这是models.py文件

from django.db import models
from django.utils import timezone
from django.urls import reverse
from django.contrib.auth.models import User
from PIL import Image

class Post(models.Model):
    date_shared = models.DateTimeField(default=timezone.now)
    caption = models.TextField(max_length=50)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    likes = models.ManyToManyField(User, blank=True, related_name='post_likes') # this line made the error occur
    image = models.ImageField(upload_to='post_images')

    def __str__(self):
        return self.caption

    def save(self):
        super().save()

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

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

    def get_absolute_url(self):
        return reverse('home')

尝试运行以下命令:

python manage.py migrate --fake
正如您所发现的,我不会浪费时间深入研究该命令的确切功能 这是一篇关于这个主题的好文章:

如果错误仍然发生,则应删除迁移文件夹中的所有文件(除了init.py),然后删除数据库中的所有表

之后只需运行:

python manage.py makemigrations
python manage.py migrate
再说一遍,一切都会好起来的。 但请记住,删除表当然也会丢失这些表中保存的所有数据/查询


让我知道这是否对您有效,因为它以前对我有效过很多次。

它没有删除任何内容。我现在应该手动删除它吗?@Poornaka“it”到底是什么意思?@Poornaka好吧,如果命令“python manage.py migrate--fake”不能为您解决问题,那么您应该连接到数据库并通过SQL手动删除表。如果你告诉我你正在使用什么样的SQL-DB,我甚至可以告诉你怎么做。等等……你是说它会删除项目或应用程序中的迁移文件夹吗?(命令)@Poornaka不,仔细阅读。步骤1:删除应用程序中“migrations”文件夹中除“init.py”之外的所有文件。步骤2:手动删除数据库中的所有表。步骤3:重新运行命令“python manage.py makemigrations”和“python manage.py migrate”。