gpt4 book ai didi

python - 尝试创建一个 View 以将 booleanfield 设置为 true 但不更新

转载 作者:行者123 更新时间:2023-12-01 06:45:33 25 4
gpt4 key购买 nike

所有用户的 bool 字段first_visit 都设置为true。

我在主页上创建了一个包含一些信息的警报,并在末尾有一个按钮,当他们单击它时,它将 bool 字段设置为 false,他们将不再看到“警报”,它就像一个指南。 .

我从 django 扩展了用户模型,所以这就是我所做的:

models.py

class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
first_visit = models.BooleanField(default=True)

我的观点.py

def verification(request, user_id):
user = User.objects.get(pk=user_id)
user.first_visit = False
user.save()

我的路

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

以及我模板中的链接

{% url 'firstvisit' user.id %}

但是当我尝试时,它不会影响模型并且仍然设置为 true

你能帮我吗?

最佳答案

您正在尝试编辑内置 User 模型中的 firs_visit 字段,但它是在扩展 Profile 模型中定义的,我认为您的答案是:

我的观点.py

def verification(request, user_id):
user = User.objects.get(pk=user_id)
user.profile.first_visit = False
user.profile.save()

<小时/>另外,如果您像 Django 文档中那样实现了经过身份验证的系统,并稍微编辑您的 Profile 模型,您可以更轻松地做到这一点:

我的观点.py

def verification(request, user_id):
request.user.profile.first_visit = False
request.user.profile.save()

models.py

class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="profile")
first_visit = models.BooleanField(default=True)

关于python - 尝试创建一个 View 以将 booleanfield 设置为 true 但不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59238641/

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