赋值前引用的局部变量 'user' 但我赋值 user.id

local variable 'user' referenced before assignment but I assigned user.id

我创建了一个 函数 来将 boelian 设置为 false :

def verification(request, user_id):
#get currently logged in user
user = request.user
user = user.objects.get(pk=user_id)
user.profile.first_visit = False
user = user.objects.get(pk=user_id)
user.save()
return redirect('create-workspace')

我将其添加到我的 模板

{% url 'firstvisit' user.id %}

这是我的路径

path('first_visit/<user_id>', views.verification, name="firstvisit")

我的模型

class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
group = models.OneToOneField(Group, null=True, blank=True, on_delete=models.CASCADE)
manager = models.BooleanField(default=False)
first_visit = models.BooleanField(default=True)

所以一切看起来都井井有条,但它说用户没有分配...

我做错了什么?

我假设这就是您要实现的目标,我认为您的问题可能是您查询的 table 错误:

def verification(request, user_id):
#get currently logged in user
user_profile = Profile.objects.get(user_id=user_id)
user_profile.first_visit = False
user_profile.save()
return redirect('create-workspace')