【发布时间】:2013-05-16 22:20:22
【问题描述】:
我正在使用 Django 1.5 开发学校数据库系统,并计划拥有许多不同的用户类型(学生、员工、家长),这些用户类型是 AbstractUser 的子类(实际上是 AbstractUser 的另一个抽象子类)。我只是试图将一个外部开发的应用程序添加到我的系统中,该应用程序在其某些模型中使用外键中的用户,但是,由于我的用户类型不是“用户”实例,因此失败了。我无法将应用程序模型设置为使用 AbstractUser,因为不能将抽象类用于外键。然后我正在考虑添加到我的 settings.py AUTH_USER_MODEL = 'myapp.MyUser' 并使用 settings.AUTH_USER_MODEL 代替 User 作为应用程序中的 ForeignKey。但是,我有 3 种不同的用户类型,所以也不能这样做。
较早的原型使用 Django 1.4,它不支持自定义 User 模型,因此有一个对 User 的引用,但这需要对每个查询进行额外的连接,这导致了相当复杂的查询。这是我可以继续前进的唯一方法,还是有其他解决方案?
【问题讨论】:
标签: django django-models django-users django-1.5 django-inheritance