Django:为 request.user 使用自定义类?

标签 django

我已经像这样扩展了 Django 的默认用户类:

class CustomUser(User):
    friends = models.ManyToManyField('self', symmetrical=False)

但现在我想在任何地方使用它,而不是默认的 User 类。在我的 View 方法中,我可以访问 request.user 但那是 User 类的实例。让它返回 CustomUser 的最简单方法是什么?

最佳答案

您还可以在 models.py 中的某个位置“猴子修补”现有的 User 模型,它应该可以正常工作。在您的代码中,只需继续使用原始类即可。

User.add_to_class('friends',models.ManyToManyField('self', symmetrical=False))

关于Django:为 request.user 使用自定义类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1718693/

相关文章:

javascript - 正在加载 CSS 和图像静态文件,但没有加载 js

python - Django runserver错误: _frozen_importlib. _DeadlockError:由_ModuleLock ('django.test.signals'检测到死锁)在139824587568800

python - Django 多对多关系,并通过

python - 我怎样才能在模型表单中拥有相当于 django 的管理内联功能?

django - Docker - psql : django. db.utils.OperationalError: FATAL: 角色 "admin"不存在

python - Django:静态图像不会加载

python - 具有动态连接的 Django 模型接口(interface)

python - django.db.utils.DatabaseError : ORA-30673: column to be modified is not an identity column

django - Prometheus-Django:连接被拒绝

python - 如何将环境变量添加到 Django 项目中