【发布时间】:2021-06-10 22:07:42
【问题描述】:
我使用官方文档中描述的方法创建了一个模型ExtendedUser 来扩展User Django 内置模型类:
https://docs.djangoproject.com/en/3.2/topics/auth/customizing/#extending-the-existing-user-model
这样我就可以从 Django 提供的现有身份验证功能中受益。
一切正常,但我现在想知道,每当我想创建一个新的ExtendedUser,这意味着对于每个ExtendedUser,我还需要创建一个原始的User 来填充一对一的关系?
或者以下还有什么意思:
假设现有的员工 Fred Smith 同时拥有 User 和 Employee 模型,您可以使用 Django 的 标准相关的模型约定[...]
在创建对象的脚本中,这是否意味着以下内容:
u1 = User.objects.create_user(username="u_1", email="u_1@abc.com", password="pw_u_1")
ext_u_1 = ExtendedUser.objects.create(id=u1.id, user=u1, prop_1="XYZ")
在哪里
class ExtendedUser(models.Model):
user = models.OneToOneField(User, ...)
# More properties...
【问题讨论】: