DeleteView中的AttributeError

时间:2018-06-05 16:40:01

标签: django django-models django-views

每当我尝试删除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 :(得分:0)

您使用不正确的格式来引用模型以创建外键。如果要在同一个python文件的顶部导入模型,它应该是'appname.ModelName'(使用引号)或只是普通ModelName

在您的情况下,您可能需要User而不是'User'