I'm trying to create a conditional statement and add the resulting values into the newly created field. The statement references two fields in the same attribute table. The field I need is created, but no information in the field. Code is:
layer = QgsVectorLayer(fnCa, '', 'ogr')
QgsProject.instance().addMapLayer(layer)
pv = layer.dataProvider()
pv.addAttributes([QgsField('Vulnerability', QVariant.Double)])
layer.updateFields()
fld_idx = layer.fields().lookupField('Vulnerability')
Vuln = {'joined_Dis':QgsProperty.fromValue("joined_Dis")
'Veg%': QgsProperty.fromValue("Veg%'"),\
'vulnerability':QgsProperty.fromField("vulnerability")}
features = layer.getFeatures()
for feature in features :
if feature["joined_Dis"]<20 and feature["Veg%"]>25:
vulnerability = "Medium"
elif feature["joined_Dis"]<25 and feature["Veg%"]<30 :
vulnerability = "Low"
elif feature["joined_Dis"]>20:
vulnerability = "Low"
pv.changeAttributeValues(Vuln)*