Message posté par : PY Joubert
----------------------------------------
Bonjour,
Désolé, mais je n'ai rien trouvé qui pourrait m'aider
Je dispose d'un couche mémoire dans laquelle, je rajoute un attribut (cela
fonctionne), et quand je lit la table d'attribut, l'attribut VALREP a bien été
rajouté et sa valeur est NULL.
Maintenait je fais une boucle sur une liste d'entité et pour chaque entité, je veux
renseigner VALREP par "TOUS" ou bien par la valeur de l'attribut contenu
dans la variable attribut
Ca ne fonctionne pas, VALREP est toujours à NULL et j'ai un message d'erreur
-----------------
Code :
print (feat["VALREP"])
KeyError: 'VALREP'
-----------------
Voici un extrait de code
-----------------
Code :
layer.dataProvider().addAttributes([QgsField('VALREP',QVariant.String)])
layer.updateFields()
QgsProject.instance().addMapLayer(layer)
idx = layer.dataProvider().fieldNameIndex('VALREP')
print (idx)
for feat in liste:
layer.dataProvider().addFeatures([feat])
if (attribut == "TOUS"):
val = "TOUS"
else:
val = feat[attribut]
attrs = { idx : val }
print(attrs)
print (feat["TYPVOIE"])
layer.dataProvider().changeAttributeValues({feat.id(): attrs})
layer.updateFeature(feat)
print (feat["VALREP"])
-----------------
pour info, j'ai aussi essayer avec
-----------------
Code :
feat["VALREP"] = "ma_valeur"
-----------------
Sans résultat non plus
Si vous aves une idée, je suis rapidement preneur
Merci et bonne journée
PYJ
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=366256#p366256
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net