Python Django администратор получает ошибку при удалении класса Вопрос - PullRequest
0 голосов
/ 03 августа 2020

У меня есть классный вопрос, и я зарегистрировал их на Django admin. И когда я хочу удалить некоторые из них, я получаю сообщение об ошибке «OperationalError at / admin / f / question / 10 / delete / no such column: f_answer.date». вот содержимое моего файла models.py

from django.db import models

# ---------- Question ----------

class Question(models.Model):
    ''' Questions '''

    author     = models.CharField('Author', max_length=45)
    title      = models.CharField('Title', max_length=300)
    body       = models.TextField('Body')
    date       = models.DateTimeField(auto_now_add=True, db_index=True, null=True, blank=True)

    def __str__(self):
        return self.title

    class Meta:
        verbose_name_plural = 'Questions'
        verbose_name        = 'Question'

1 Ответ

1 голос
/ 03 августа 2020

Код, который вы показываете относительно класса Question, не имеет проблем с ним в текущем состоянии. Приходилось ли вам создавать объект Question в нескольких миграциях? Если у вас изначально было поле, вы перенесли его, а затем удалили - это могло вызвать проблемы при попытке совершить транзакцию.

Я немного скептически отношусь к вашему полю даты, поскольку оно одновременно db_index=true и позволяет null. Он говорит, что f_answer.date отсутствует ... следует ли интерпретировать это как у вас есть класс Answer, связанный с объектом Question? Если эта связь установлена ​​с помощью on_delete=models.CASCADE, но экземпляр Question имеет значение null, тогда Django может пытаться найти связанные Answer объекты, которые не существуют.

...