我正在尝试开发一个应用程序,当用户请求只有在他登录时才会提供其他详细信息 我正在使用Django-Rest-Framework。我可以登录,获取令牌,但如何检索其他用户数据?
class BasicUserInfo(AbstractUser):
email = models.EmailField(primary_key=True, unique=True, db_index=True)
class UserInfo(models.Model):
user = models.ForeignKey(BasicUserInfo, on_delete=models.CASCADE)
phoneNo = PhoneField(default="")
所以基本上如果用户请求使用GET API端点我只想发送该用户的电话号码
答案 0 :(得分:0)
您可以通过request.user.is_authenticated()
检查用户是否已登录,request.user
将返回当前登录的用户(如果使用已登录,否则将返回AnonymousUser类的对象)
你的get方法看起来像
def get(self, request, *args, **kwargs):
data = {}
if request.user.is_authenticated():
data['phone_number'] = request.user.userinfo_set.first().phoneNo
return response.Response(data)