gpt4 book ai didi

Django-请求中的用户代理模型

转载 作者:行者123 更新时间:2023-12-04 17:11:34 24 4
gpt4 key购买 nike

我在User上使用代理模型,例如

class Nuser(User):
class Meta:
proxy = True
def __unicode__(self):
return u'%s %s' % (self.first_name, self.last_name)

我在整个观点中都使用它。
我想知道为 request.user获取此对象的实例的最佳方法

每次我做
Nuser.objects.get(pk=request.user.pk)

有没有更简单的方法来做到这一点?

最佳答案

您可以编写一个自定义身份验证后端,该后端返回代理模型实例而不是User实例:

from django.contrib.auth.backends import ModelBackend

class ProxiedModelBackend(ModelBackend):
def get_user(self, user_id):
try:
return Nuser.objects.get(pk=user_id)
except Nuser.DoesNotExist:
return None

在你的 settings.py
AUTHENTICATION_BACKENDS = ['my_project.auth_backends.ProxiedModelBackend',]

关于Django-请求中的用户代理模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10682414/

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