Bug report #10936
setFilterExpression() does not works
Status: | Closed | ||
---|---|---|---|
Priority: | High | ||
Assignee: | - | ||
Category: | Vectors | ||
Affected QGIS version: | 2.4.0 | Regression?: | No |
Operating System: | all | Easy fix?: | No |
Pull Request or Patch supplied: | No | Resolution: | duplicate |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 19292 |
Description
QgsFeatureRequest allows advanced features filtering via setFilterExpression() method. But seems this does not work, at least when using from Python.
Here is code snippet:
layer = iface.mapCanvas().currentLayer() expr = '"dt" = \\'2014-07-05\\' AND abs("y" - 3.0) <= 0.000001' request = QgsFeatureRequest().setFilterExpression(expr) for f in layer.getFeatures(request): print 'found'To reproduce:
- open attached shapefile and make it active
- in Python console execute above code
- no features found
- now try to use same expression with "Select by Expression" tool, it finds one feature as expected.
See also this thread http://lists.osgeo.org/pipermail/qgis-developer/2014-July/033965.html
Related issues