我使用的是django-multiselectfield,因为我有一个旧项目,所以我需要对所选选项进行查询,例如我有1-50个可以选择的选项。
我了解,由于是CharField,因此可以这样查找:
from django.db.models import Q
my_queryset.filter(
Q(languages__icontains="0") | Q(languages__icontains="1")
)
但是由于有50个选项,所以我认为拥有50个Q过滤器不是一个好方法,也许没有其他选择,因为它只是一个库而不是Django内部库,但是也许还有其他方法如何使Q过滤器动态化,例如计算选项的len,然后将这些值放在Q(languages__icontains="options")
上,但我不确定是否可行。