I get this error KeyError: 'FieldOne'
when I try to add a new attribute value to my feature.
This is the code that I use to create a new Layer:
v_layer = QgsVectorLayer('LineString?crs=epsg:4326', 'layerName', 'memory')
pr = v_layer.dataProvider()
pr.addAttributes([QgsField('FieldOne', QVariant.String)])
pr.addAttributes([QgsField('FieldTwo', QVariant.String)])
v_layer.updateFields()
QgsProject.instance().addMapLayers([v_layer])
After creating the new layer, I need to fill it with new features. Each feature has his attributes. Using this code that give me the error KeyError: 'FieldOne'
.
def createNewFeature(fieldone,fieldtwo):
seg = QgsFeature()
seg.setGeometry(QgsGeometry.fromPolyline([start_point, end_point]))
pr.addFeatures( [ seg ] )
v_layer.startEditing()
seg['FieldOne']=fieldone
seg['FieldTwo']=fieldtwo
v_layer.updateFeature(seg)
v_layer.commitChanges()
v_layer = QgsVectorLayer('LineString?crs=epsg:4326', layerName, 'memory')
withv_layer = QgsVectorLayer('LineString?crs=epsg:4326', 'layerName', 'memory')
.