gpt4 book ai didi

python - django 使用扩展用户配置文件加入 auth_user

转载 作者:行者123 更新时间:2023-11-30 00:38:01 24 4
gpt4 key购买 nike

在 Django 1.6 中,我用我自己的模型扩展了 django 用户模型

class Employee(models.Model):
user = models.ForeignKey(User, related_name='profile')
adress = models.CharField(max_length=500)
department = models.ForeignKey(Department)

class Department(models.Model):
name = models.CharField('Name', max_length=200)

我现在希望登录的用户查看其数据,因此我需要显示表 employee、department 和 auth_user 中的所有相关信息。

通常我会使用

    #employee = Employee.objects.select_related('department').select_related('user').get(user_id=request.user.id)

击中我想要的所有 table 。但由于某种原因,如果我选择 Employee.objects 进行查询,我只会获得与部门表连接的员工表的信息,而没有 auth_user 的信息。我是用 User.objects 开始查询吗...恰恰相反。我可以访问 user_auth 信息,但不能访问员工或部门信息。

我还在我的模型中尝试了 OneToOne 关系,但结果相同。我很确定,如果应用程序表和 django 表被外键关系引用,那么有一种简单的方法可以将它们连接起来。

为了完整起见,employee.id 和employee.user_id 之间的差异

   `id` int(11) NOT NULL AUTO_INCREMENT,
CONSTRAINT `department_id` FOREIGN KEY (`department_id`) REFERENCES `polls_department` (`id`),
CONSTRAINT `user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`)

最佳答案

为什么不将您的 Employee 模型定义为 django.contrib.auth.Abs​​tractUser ( docs here ) 的子类?您可以一次性访问所有 User 相关字段以及您在 Employee 类中定义的额外字段。

关于python - django 使用扩展用户配置文件加入 auth_user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22011228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com