我正在查看 Django 文档,对以下之间的区别感到有点困惑:
from django.contrib.auth.models import AbstractUser
from django.db.models import Model
我尝试在课堂上执行以下操作并收到与以下主题有关的错误: Python 多重继承和 MRO
出现此错误是因为我执行了以下操作:
class Employee(Model, AbstractUser):
pass
当我在 Django 中进行迁移时,出现一条错误消息,说它违反了 MRO。当我在 Google 上搜索这是什么意思时,我发现了一篇 Stack Overflow 帖子,其中提到,当无法在两个类、特定值或方法之间做出决定时,就会发生这种情况。
在我的研究中,课堂上类似的方法之间可能会存在冲突。
我期望拥有一个具有自定义身份验证的员工,并且是数据库中的实体。我该如何实现这一点,我必须选择AbstractUser
使用Model
它们两者吗?
AbstractUser
已经从 继承Model
,因此您不必在它们之间进行选择——AbstractUser
单独使用就可以获得它们两个。所以这样做:
这是的继承链
AbstractUser
: