gpt4 book ai didi

python - DjangoForeignKey用户认证

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:55 26 4
gpt4 key购买 nike

我在 django 中有一个扩展的用户模型。

class userProfile(models.Model):
user = models.OneToOneField(User, related_name="profile")
uniID = models.CharField(max_length=6)

此外,我想在用户使用以下方式进入我的系统时进行登录:

class systemEntry(models.Model):
user = models.ForeignKey(userProfile)
time = models.DateTimeField(auto_now=True)

用户登录时我使用 django 身份验证模型:

tempUser = auth.authenticate(username = myCredentials['username'], password = myCredentials['password'])
p = systemEntry(user = userProfile.objects.filter(user.get_profile().username=myCredentials['username']))
p.save()

给出错误:

keyword can't be an expression (views.py, line 29)

我的错误在哪里?

最佳答案

您必须使用 .get 而不是使用过滤器,并且内部查询不正确,您应该执行以下操作:

p = systemEntry(user = user.userprofile)
p.save()

如果您想使用userProfile.objects.filter(user.get_profile().username=myCredentials['username'])你应该知道它不能这样做,而是你应该这样做,

userProfile.objects.get(user__username=myCredentials['username'])

关于python - DjangoForeignKey用户认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35172696/

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