我正在构建一个BlogApp,并试图让所有配置文件的BooleanField的用户都为True。
我要做的事情:-
我制作了一个被禁止的用户的功能,并为每个用户制作了BooleanField,我正在尝试获取所有用户的配置文件的BooleanValue为True
。
型号.py
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE,default='',unique=True)
block_users = models.BooleanField(choices=BLOCK_CHOISES,default=False)
问题
def block_users(request):
profile = request.user.profile
blocked = Profile.objects.filter(block_users=profile.block_users)
context = {'blocked':blocked}
return render(request, 'blocked.html', context)
当我运行此代码时,这只向我显示值为False
的用户。但我希望用户的价值是True
。
我不知道怎么拿到。
提前感谢。
如有任何帮助,我们将不胜感激。
看起来您正在尝试按登录用户列出用户。我的意思是,如果登录的用户被阻止,它会列出被阻止的用户,如果没有,它会列出来没有被阻止的人。
而是:在您的models.py中,创建一个相关名称
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="profile_user",unique=True)
block_users = models.BooleanField(choices=BLOCK_CHOISES,default=False)
在views.py中,当你要做";request.user.profile_user.block_users";,它将为登录用户提供阻止状态。
现在,如果您想要被阻止的用户,请直接使用True进行筛选。
Profile.objects.filter(block_users=True)