在Django中的用户模型中添加父用户

时间:2013-02-02 10:49:42

标签: python django authentication

我已经阅读了一些有关Django中其他模型的User模型继承的帖子,但我希望用户拥有一个特定的父用户,即User模型继承自己。

我不知道怎么做,因为我肯定要为用户编辑django.auth.contrib模型不是吗?

提前感谢任何提示。

1 个答案:

答案 0 :(得分:0)

首先,不要在Django中编辑源代码。这是一个很大的错误,它会让你的代码难以维护 - 无论你想做什么,你真的不想改变Django源。

我并不完全清楚你在问什么,但听起来你可能需要创建一个继承自User的新模型,并在模型上为自己添加ManyToMany字段。

from django.contrib.auth.models import User

class ExtendedUser(User):
    parent = models.ManyToManyField("self", symmetrical=False)

您的新模型现在将拥有Django User类的所有字段和方法以及额外的parent字段。任何特定ExtendedUser对象上的父字段将引用另一个ExtendedUser对象。

正如我所说,我正在猜测你正在尝试做什么(如果我做得对,那么你可能会发现在model inheritance上做一些阅读是有帮助的一般来说class inheritance - 也许可以找一些关于这个主题的教程。