Я пытался создать новый комментарий на основе этих моделей:
class Answer(models.Model):
answer = models.TextField()
author = models.ForeignKey(CustomUser, on_delete = models.CASCADE,
related_name="written_answers")
question = models.ForeignKey(Question, on_delete = models.CASCADE, related_name="answers")
upvoters = models.ManyToManyField(CustomUser, related_name="upvoted_answers")
created_at = models.DateTimeField(auto_now_add = True, blank = True)
updated_at = models.DateTimeField(blank = True, null=True)
def __str__(self):
return str(self.id)
class Comment(models.Model):
comment = models.CharField(max_length = 200)
author = models.ForeignKey(CustomUser, on_delete = models.CASCADE,
related_name = "written_comments")
answer = models.ForeignKey(Answer, on_delete = models.CASCADE, related_name="comments")
upvoters = models.ManyToManyField(CustomUser, related_name="upvoted_comments")
parent_comment = models.ForeignKey("self", on_delete = models.CASCADE,
related_name="next_in_thread", null=True, blank=False)
created_at = models.DateTimeField(auto_now_add = True, blank = True)
updated_at = models.DateTimeField(null=True, blank = True)
class Meta:
ordering = ('created_at', )
Но я получаю следующую ошибку: нет такой таблицы: main.core_answer__old Что я сделал не так? Я попытался удалить таблицу SQLite и миграции и начать заново, но эта ошибка все еще сохраняется. Пожалуйста, помогите.
Редактировать: Я использую заполненный скрипт после миграции, который создает Вопросы и Ответы, если это имеет значение.
core / models.py
from django.db import models
from users.models import CustomUser
class Genre(models.Model):
name = models.CharField(max_length=84)
subscribers = models.ManyToManyField(CustomUser, related_name="subscribed_genres")
def __str__(self):
return self.name
class Topic(models.Model):
name = models.CharField(max_length=84)
followers = models.ManyToManyField(CustomUser, related_name="followed_topics")
def __str__(self):
return "#" + self.name
class Question(models.Model):
question = models.CharField(max_length = 128, blank = False)
asker = models.ForeignKey(CustomUser, on_delete = models.CASCADE,
related_name="asked_questions")
requested = models.ManyToManyField(CustomUser, related_name="answer_requests")
genres = models.ManyToManyField(Genre, related_name = "questions")
followers = models.ManyToManyField(CustomUser, related_name="followed_questions")
topics = models.ManyToManyField(Topic, related_name="questions")
url = models.CharField(max_length = 150, unique=True)
created_at = models.DateTimeField(auto_now_add = True, blank = True)
updated_at = models.DateTimeField(null=True, blank = True)
class Meta:
ordering = ('-created_at', )
def __str__(self):
return self.question
class Answer(models.Model):
answer = models.TextField()
author = models.ForeignKey(CustomUser, on_delete = models.CASCADE,
related_name="written_answers")
question = models.ForeignKey(Question, on_delete = models.CASCADE, related_name="answers")
upvoters = models.ManyToManyField(CustomUser, related_name="upvoted_answers")
created_at = models.DateTimeField(auto_now_add = True, blank = True)
updated_at = models.DateTimeField(blank = True, null=True)
def __str__(self):
return str(self.id)
class Comment(models.Model):
comment = models.CharField(max_length = 200)
author = models.ForeignKey(CustomUser, on_delete = models.CASCADE,
related_name = "written_comments")
answer = models.ForeignKey(Answer, on_delete = models.CASCADE, related_name="replied_comments")
upvoters = models.ManyToManyField(CustomUser, related_name="upvoted_comments")
parent_comment = models.ForeignKey("self", on_delete = models.CASCADE,
related_name="next_in_thread", null=True, blank=False)
created_at = models.DateTimeField(auto_now_add = True, blank = True)
updated_at = models.DateTimeField(null=True, blank = True)
class Meta:
ordering = ('created_at', )
[РЕШЕНО]: повышен рейтинг с Django == 2,1 до Django == 2,2