From 18e7e287ef143efb17d38ddab089a94989a5bbe9 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Fri, 7 Feb 2025 11:20:22 +1000 Subject: [PATCH] [pyprovider] Ignore unset attributes when changing attribute values --- tests/src/python/provider_python.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/src/python/provider_python.py b/tests/src/python/provider_python.py index ad6ab99e0f2..c0a8dfb0cbb 100644 --- a/tests/src/python/provider_python.py +++ b/tests/src/python/provider_python.py @@ -14,6 +14,7 @@ __date__ = "2018-03-18" __copyright__ = "Copyright 2018, The QGIS Project" from qgis.PyQt.QtCore import QVariant +from qgis._core import QgsUnsetAttributeValue from qgis.core import ( Qgis, QgsAbstractFeatureIterator, @@ -34,6 +35,7 @@ from qgis.core import ( QgsSpatialIndex, QgsVectorDataProvider, QgsVectorLayer, + QgsUnsetAttributeValue, ) @@ -421,6 +423,8 @@ class PyProvider(QgsVectorDataProvider): except KeyError: continue for k, v in attrs.items(): + if isinstance(v, QgsUnsetAttributeValue): + continue f.setAttribute(k, v) self.clearMinMaxCache() return True