Я получаю ошибку No such table в Django

#django #database #migrate

#django #База данных #миграция

Вопрос:

Я прочитал много вопросов / ответов, пытаясь решить эту проблему. В настоящее время я работаю над веб-сайтом. Проблема, с которой я сталкиваюсь, заключается в следующем:

  1. Весь мой веб-сайт работал
  2. Затем я добавил две новые модели и изменил названия 2 моделей
  3. После этого я сделал ‘python manage.py совершайте миграции’
  4. И ‘python manage.py мигрировать’
  5. Все казалось в порядке, но когда я перешел на страницу администратора (после добавления моделей в admin), две новые модели и модели, имена которых я изменил, не работают. Когда я нажимаю на них на странице администратора, я получаю «Нет такой таблицы: <имя_таблицы>».

Я собираюсь показать вам…

models.py

 
    theme = models.CharField(max_length=100)

    def __str__(self):
        return f'{self.theme}'


class Question(models.Model):

    title = models.CharField(max_length=30, default="Title")
    theme = models.ForeignKey(Theme, on_delete=models.CASCADE)
    author = models.ForeignKey(User, on_delete=models.CASCADE, default=1)
    content = models.TextField()
    post_date = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return f'{self.title}'


class UpVote(models.Model):

    user = models.ForeignKey(User, on_delete=models.CASCADE, default=1)
    post = models.ForeignKey(Question, on_delete=models.CASCADE)


class Answer(models.Model):

    user = models.ForeignKey(User, on_delete=models.CASCADE, default=1)
    post = models.ForeignKey(Question, on_delete=models.CASCADE)
    comment = models.TextField()
    post_date = models.DateTimeField(default=timezone.now)


# ARTICLES___________________________________________________________________________________________


class ArticleTheme(models.Model):
    theme = models.CharField(max_length=20)

    def __str__(self):
        return f'{self.theme}'


class Article(models.Model):
    title = models.CharField(max_length=30)
    author = models.ForeignKey(User, on_delete=models.CASCADE, default=1)
    theme = models.ForeignKey(ArticleTheme, on_delete=models.CASCADE)
    pdf = models.FileField(upload_to='pdf', null=True)
    date_posted = models.DateTimeField(default=timezone.now)
    date_altered = models.DateTimeField(default=None, null=True, blank=True)


# Posts______________________________________________________________________________________________


class Post(models.Model):
    title = models.CharField(max_length=30)
    content = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now)


# Subjects___________________________________________________________________________________________


class Subjects(models.Model):
    name = models.CharField(max_length=30)
    teachers = models.CharField(max_length=50)
    description = models.TextField()
    date_posted = models.DateTimeField(default=timezone.now) 
  

Итак, теперь я ничего не могу сделать с этими таблицами, даже не открывать веб-страницы, на которых они использовались.
Я знаю, что это не так много информации, но проблема должна быть в базе данных. Я начал использовать django 2 месяца назад, и я всегда использовал, не получая подобной ошибки.

Спасибо за чтение 🙂 Надеюсь, вы сможете мне помочь!

Комментарии:

1. вы переопределили что-нибудь со страницы администратора django?

2. попробуйте выполнить makemigrations и выполнить миграцию еще раз, также проверьте, изменили ли вы имя базы данных в файле настроек