我已经扩展了Django的默认用户类,如下所示:
class CustomUser(User):
friends = models.ManyToManyField('self', symmetrical=False)
Run Code Online (Sandbox Code Playgroud)
但现在我想在任何地方使用它而不是默认User类.在我的视图方法中,我可以访问,request.user但这是User该类的实例.什么是让它返回的最简单方法CustomUser?
你也可以在models.py中的某个地方"修补"现有的用户模型,它应该可以正常工作.在您的代码中,只需继续使用原始类.
User.add_to_class('friends',models.ManyToManyField('self', symmetrical=False))
Run Code Online (Sandbox Code Playgroud)
我不确定您是否可以完全这样做,但您可以使用Django user_profile功能访问您的CustomUser属性.
在您的settings.py中:
AUTH_PROFILE_MODULE = 'myapp.CustomUser'
Run Code Online (Sandbox Code Playgroud)
在你看来:
user_friends = user.get_profile().friends
Run Code Online (Sandbox Code Playgroud)
查看此链接以获取更多信息.
| 归档时间: |
|
| 查看次数: |
2914 次 |
| 最近记录: |