AttributeError в DeleteView - PullRequest
       6

AttributeError в DeleteView

0 голосов
/ 05 июня 2018

Я получаю следующую ошибку, когда пытаюсь удалить объект класса AbstractThing в DeleteView (например, в области администратора):

AttributeError: 'OneToOneField' object has no attribute 'model'

Соответствующие модели и представления:

class AbstractThing(models.Model):

    class Meta:
        abstract = True

    color = models.CharField(max_length=6)


class ConcreteThing(AbstractThing):

    user = models.ForeignKey('User', on_delete=models.CASCADE, related_name='concrete_things')


class ConcreteThingDeleteView(DeleteView):

    model = ConcreteThing
    success_url = "…"


from django.contrib.auth.base_user import AbstractBaseUser

class User(AbstractBaseUser):
    (…)

Я не знаю, что происходит, так как сообщение об ошибке вообще не является конкретным.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 06 июня 2018

Вы используете неправильный формат для ссылки на модель для создания внешнего ключа.Это должно быть либо 'appname.ModelName' (с использованием кавычек), либо просто ModelName, если вы импортируете модель вверху того же файла Python.

В вашем случае вам, вероятно, потребуется User вместо 'User'.

...