我有一个MultiSelectField(https://pypi.python.org/pypi/django-multiselectfield),我试图在我的应用中实现一些基本搜索。我希望过滤器在其中一个复选框与查询匹配时返回结果。
e.g。
假设存在选项A和选项B(即,在数据库中,存在A,B),则选择它们中的任何一个(A或B)应该返回该行。 __in
在我的案例中似乎无效。我该如何实现呢?
编辑:一些代码:
models.py
class UserProfile(models.Model):
CHOICES = (
('1', ‘a'),
('2', ‘b'),
('3', ‘c'),
)
foo = MultiSelectField(choices=CHOICES)
views.py
def search(request):
if request.method == 'POST':
form = SearchForm(request.POST)
if form.is_valid():
foo = request.POST.getlist('foo')
profiles = UserProfile.objects.filter(foo=foo)
我尝试了UserProfile.objects.filter(foo__in=foo)
,但它似乎无法正常工作。