所以说我正在使用一种表单针对我的数据源构建查询(我已经走了两周了!我可以做到!),如何使其变得更复杂?
如果我要奥斯丁的书中包含“骄傲”一词,而加伯顿的书中包含“雪”一词
单个查询为
widget.datasource.query.filters['author']._contains = "austen";
widget.datasource.query.filters['title']._contains = "pride";
和
widget.datasource.query.filters['author']._contains = "gabaldon";
widget.datasource.query.filters['title']._contains = "snow";
在伪SQL中应该是
select * from table
where
((author like 'austen') and (title like 'snow'))
or
((author like 'gabaldon') and (title like 'pride'))
是否有一种方法可以过滤像这样的复杂查询中的数据源并切出整个widget.datasource方面?使用计算表就可以了。
编辑:好的,我在我需要的功能方面取得了一些进展,有人可以告诉我为什么这样做的原因:
widget.datasource.query.filters.document_name._contains = 'x';
但这不是吗?
widget.datasource.query.parameters.v1 = "x";
widget.datasource.query.where = 'document_name contains :v1';
这也不起作用:
widget.datasource.query.where = 'document_name contains "x"';