我试图在django sqlite数据库中实现搜索。如何为django Q对象动态加入多个参数
我得到一个未知长度的参数列表,它应该都与'LIKE'匹配。这意味着我需要至少匹配其中一个参数的所有对象。
正如我从django文档中看到的,我可以通过使用Q对象来实现。
例子:
Students.objects.get(
Q(name_contains='franz') |
Q(birthdate_date=date(2005, 5, 2) |
Q(param3_contains='lorem'
)
现在的问题是,我该怎么处理它加入所有从PARAMS创建将q对象作为参数传递给objects.get()。我在这找不到任何东西。
这里的另一个问题是处理几种不同的字段查找类型。
我欣赏任何建议,帮助或帮助您可以给的链接。谢谢。
不清楚你“加入Q对象”的意思,如果你想和他们在一起,你可以使用['&'](https://docs.djangoproject.com/en/1.8/ REF /模型/查询集/#q-对象)。另外你的例子似乎有不正确的字段查找语法,它应该是像'name__contains'两个下划线。 –
我的意思是我不知道我得到哪些参数。所以它可能是2,3或7个参数。我必须遍历它们,将它们放在Q对象中,然后将它们作为参数传递给我的get函数。但我不知道我如何将这些论点与|连接在一起。所以我明确地想要使用OR。 – Igle