我正在使用django编写一个API,我想使用request.user.groups.filter()
方法检查用户是在A组还是B组,但似乎不起作用。我希望能够通过name
参数传递不止一个组,以检查它们是否确实在组A或组B中。
我尝试了以下方法:
if request.user.groups.filter(name="A") or request.user.groups.filter(name="B"):
do stuff
我也试过:
if request.user.groups.filter(name="A" or "B"):
do stuff
但我似乎没有得到任何运气和所有我得到的是,我需要在组A访问的内容时,我想检查我是在A或B。
1条答案
按热度按时间p3rjfoxz1#
使用
in
:或者:
我更喜欢
list
版本,因为我认为它比str
版本更好地传达了意图,而不需要去看文档。当然,str
版本将每个字符视为一个单独的元素,因此如果您有一个像"Some Group"
这样的组名,str
版本将无法工作。文件:
在给定的迭代对象中;通常是列表、元组或查询集。这不是一个常见的用例,但字符串(可迭代)是可以接受的。
示例:
Entry.objects.filter(id__in=[1,3,4])
Entry.objects.filter(headline__in=“abc”)
SQL等价物:
SELECT ... WHERE id IN(1,3,4);
SELECT ... WHERE headline IN('a','b','c');