#django #database #migrate
#django #База данных #миграция
Вопрос:
Я прочитал много вопросов / ответов, пытаясь решить эту проблему. В настоящее время я работаю над веб-сайтом. Проблема, с которой я сталкиваюсь, заключается в следующем:
- Весь мой веб-сайт работал
- Затем я добавил две новые модели и изменил названия 2 моделей
- После этого я сделал ‘python manage.py совершайте миграции’
- И ‘python manage.py мигрировать’
- Все казалось в порядке, но когда я перешел на страницу администратора (после добавления моделей в 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 и выполнить миграцию еще раз, также проверьте, изменили ли вы имя базы данных в файле настроек