10 votos

Seleccione una columna como Clave Principal en una Vista de PostGIS el uso de PyQGIS en QGIS

Postgresql no admite la Clave Principal en las vistas. Cuando me carga un postGIS ver en QGIS "manualmente", puedo elegir la columna que va a ser la Clave Primaria, pero me gustaría saber si me puede seleccionar una columna como Clave Principal cuando me carga es el uso de pyQGIS secuencia de comandos.

Gracias.

15voto

Tammy Puntos 49

He encontrado la respuesta la lectura de la API de QGIS

Este es el método:

void QgsDataSourceURI::setKeyColumn (QString column )

este es mi ejemplo:

uri = QgsDataSourceURI()
uri.setConnection('localhost', '5432', '-mydatabase-', '-myowner-', '-mypasswd-')
uri.setDataSource('public', 'parcelas', 'the_geom')
#public: schema, parcelas: the view, the_geom: spatial column
uri.setKeyColumn('id') #name of my primary key

vlayer = QgsVectorLayer(uri.uri(), '-name_of_the_layer-', 'postgres')
if vlayer:
  print "All Ok!"

QgsMapLayerRegistry.instance().addMapLayer(vlayer)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X