Class: QgsDatabaseTableModel

class qgis.core.QgsDatabaseTableModel(provider: str, connection: str, schema: str = '', parent: QObject = None)

Bases: PyQt5.QtCore.QAbstractItemModel

Constructor for QgsDatabaseTableModel, for the specified provider and connection name.

The optional schema argument can be used to restrict the tables to those from a specific schema.

Warning

The provider must support the connection API methods in its QgsProviderMetadata implementation in order for the model to work correctly.

QgsDatabaseTableModel(connection: QgsAbstractDatabaseProviderConnection, schema: str = ‘’, parent: QObject = None) Constructor for QgsDatabaseTableModel, for the specified connection.

The optional schema argument can be used to restrict the tables to those from a specific schema.

Ownership of connection is transferred to the model.

A model containing tables from a database connection.

This class does not automatically subscribe to database updates. Tables are queried from the database initially upon model construction. In order to update the listed tbales, QgsDatabaseTableModel.refresh() must be manually called.

New in version 3.14.

Parameters
  • provider (str) –

  • connection (str) –

  • schema (str = '') –

  • parent

class Role

Bases: int

RoleComment = 259
RoleCrs = 262
RoleCustomInfo = 260
RoleEmpty = 263
RoleSchema = 257
RoleTableFlags = 258
RoleTableName = 256
RoleWkbType = 261
allowEmptyTable(self) → bool

Returns True if the model allows the empty table (“not set”) choice.

Return type

bool

QgsDatabaseTableModel.beginInsertColumns(self, QModelIndex, int, int)
QgsDatabaseTableModel.beginInsertRows(self, QModelIndex, int, int)
QgsDatabaseTableModel.beginMoveColumns(self, QModelIndex, int, int, QModelIndex, int) -> bool
QgsDatabaseTableModel.beginMoveRows(self, QModelIndex, int, int, QModelIndex, int) -> bool
QgsDatabaseTableModel.beginRemoveColumns(self, QModelIndex, int, int)
QgsDatabaseTableModel.beginRemoveRows(self, QModelIndex, int, int)
beginResetModel(self)
QgsDatabaseTableModel.changePersistentIndex(self, QModelIndex, QModelIndex)
changePersistentIndexList(self, Iterable[QModelIndex], Iterable[QModelIndex])
childEvent(self, QChildEvent)
columnCount(self, parent: QModelIndex = QModelIndex()) → int
Parameters

parent (QModelIndex = QModelIndex()) –

Return type

int

connectNotify(self, QMetaMethod)
QgsDatabaseTableModel.createIndex(self, int, int, object: object = 0) -> QModelIndex
customEvent(self, QEvent)
data(self, index: QModelIndex, role: int = Qt.DisplayRole) → Any
Parameters
  • index (QModelIndex) –

  • role (int = Qt.DisplayRole) –

Return type

Any

QgsDatabaseTableModel.decodeData(self, int, int, QModelIndex, QDataStream) -> bool
disconnectNotify(self, QMetaMethod)
encodeData(self, Iterable[QModelIndex], QDataStream)
endInsertColumns(self)
endInsertRows(self)
endMoveColumns(self)
endMoveRows(self)
endRemoveColumns(self)
endRemoveRows(self)
endResetModel(self)
index(self, row: int, column: int, parent: QModelIndex) → QModelIndex
Parameters
  • row (int) –

  • column (int) –

  • parent (QModelIndex) –

Return type

QModelIndex

isSignalConnected(self, QMetaMethod) → bool
parent(self, child: QModelIndex) → QModelIndex
Parameters

child (QModelIndex) –

Return type

QModelIndex

persistentIndexList(self) → List[QModelIndex]
receivers(self, PYQT_SIGNAL) → int
refresh(self)

Refreshes the table list by querying the underlying connection.

resetInternalData(self)
rowCount(self, parent: QModelIndex = QModelIndex()) → int
Parameters

parent (QModelIndex = QModelIndex()) –

Return type

int

sender(self) → QObject
senderSignalIndex(self) → int
setAllowEmptyTable(self, allowEmpty: bool)

Sets whether an optional empty table (“not set”) option is present in the model.

Parameters

allowEmpty (bool) –

timerEvent(self, QTimerEvent)