0
说第三方应用程序我有,我想继承一些第三方应用,让我们把它叫做ThirdPartyClass
。我想将此子类化以创建一个genereal用户,然后可以灵活地将一般用户分类为更具体的用户。这将是这个样子:Django的子类用户模型
models.py
class GeneralUser(ThirdPartyClass):
user = models.OneToOneField(
settings.AUTH_USER_MODEL)
# general fields would go here
class SpecificUser(GeneralUser):
# specific fields would go here
显然,我想继承AbstractUser
这是不行的?也许这不是解决这个问题的正确方法。有针对这个的解决方法吗?
边注:第三方应用程序我心目中可以发现here。无论如何,希望这个答案可以没有对第三方应用的细节解决,但如果没有其他的选择,那么无论干得是可以接受的工作! 谢谢!
我不明白你的问题。首先,它不是“清楚”,这是行不通的,因为我认为OOP中的_inheritance_ _工作。为什么你重新定义你的派生类中的'user'字段? – kirelagin
我不是故意在派生类中重新定义'user'字段,编辑并修复它。我知道这个继承模型可以工作,但在示例中'AbstractUser'不是子类。这是问题,因为我想它注册为一个Django'用户'。 – Joker
如果'ThirdPartyClass'子类'AbstractUser'类也将隐含继承它。如果'ThirdPartyClass'不是'AbstractUser'的子类,那么在你的类中显式地继承它。 – kirelagin