Class: QgsField

class qgis.core.QgsField(name: str = '', type: QVariant.Type = QVariant.Invalid, typeName: str = '', len: int = 0, prec: int = 0, comment: str = '', subType: QVariant.Type = QVariant.Invalid)

Bases: sip.wrapper

Constructor. Constructs a new QgsField object.

Parameters
  • name – Field name

  • type – Field variant type, currently supported: String / Int / Double

  • typeName – Field type (e.g., char, varchar, text, int, serial, double). Field types are usually unique to the source and are stored exactly as returned from the data store.

  • len – Field length

  • prec – Field precision. Usually decimal places but may also be used in conjunction with other fields types (e.g., variable character fields)

  • comment – Comment for the field

  • subType – If the field is a collection, its element’s type. When all the elements don’t need to have the same type, leave this to QVariant.Invalid.

QgsField(other: QgsField) Copy constructor

Encapsulate a field in an attribute table or data source. QgsField stores metadata about an attribute field, including name, type length, and if applicable, precision.

Note

QgsField objects are implicitly shared.

Enums

Methods

alias

Returns the alias for the field (the friendly displayed name of the field ), or an empty string if there is no alias.

comment

Returns the field comment

constraints

Returns constraints which are present for the field.

convertCompatible

Converts the provided variant to a compatible format

defaultValueDefinition

Returns the expression used when calculating the default value for the field.

displayName

Returns the name to use when displaying this field.

displayString

Formats string for display

editorWidgetSetup

Gets the editor widget setup for the field.

isNumeric

Returns if this field is numeric.

length

Gets the length of the field.

name

Returns the name of the field.

precision

Gets the precision of the field.

setAlias

Sets the alias for the field (the friendly displayed name of the field ).

setComment

Set the field comment

setConstraints

Sets constraints which are present for the field.

setDefaultValueDefinition

Sets an expression to use when calculating the default value for the field.

setEditorWidgetSetup

Set the editor widget setup for the field.

setLength

Set the field length.

setName

Set the field name.

setPrecision

Set the field precision.

setSubType

If the field is a collection, set its element’s type.

setType

Set variant type.

setTypeName

Set the field type.

subType

If the field is a collection, gets its element’s type.

type

Gets variant type of the field as it will be retrieved from data source

typeName

Gets the field type.

Signals

Attributes

staticMetaObject

alias(self) → str

Returns the alias for the field (the friendly displayed name of the field ), or an empty string if there is no alias.

See also

setAlias()

New in version 3.0.

comment(self) → str

Returns the field comment

constraints(self) → QgsFieldConstraints

Returns constraints which are present for the field.

See also

setConstraints()

New in version 3.0.

convertCompatible(self, v: Any) → bool

Converts the provided variant to a compatible format

Parameters

v – The value to convert

Returns

True if the conversion was successful

defaultValueDefinition(self) → QgsDefaultValue

Returns the expression used when calculating the default value for the field.

Returns

expression evaluated when calculating default values for field, or an empty string if no default is set

New in version 3.0.

displayName(self) → str

Returns the name to use when displaying this field. This will be the field alias if set, otherwise the field name.

See also

name()

See also

alias()

New in version 3.0.

displayString(self, v: Any) → str

Formats string for display

editorWidgetSetup(self) → QgsEditorWidgetSetup

Gets the editor widget setup for the field.

Defaults may be set by the provider and can be overridden by manual field configuration.

Returns

the value

isNumeric(self) → bool

Returns if this field is numeric. Any integer or floating point type will return true for this.

New in version 2.18.

length(self) → int

Gets the length of the field.

Returns

int containing the length of the field

name(self) → str

Returns the name of the field.

See also

setName()

See also

displayName()

precision(self) → int

Gets the precision of the field. Not all field types have a related precision.

Returns

int containing the precision or zero if not applicable to the field type.

setAlias(self, alias: str)

Sets the alias for the field (the friendly displayed name of the field ).

Parameters

alias – field alias, or empty string to remove an existing alias

See also

alias()

New in version 3.0.

setComment(self, comment: str)

Set the field comment

setConstraints(self, constraints: QgsFieldConstraints)

Sets constraints which are present for the field.

See also

constraints()

New in version 3.0.

setDefaultValueDefinition(self, defaultValueDefinition: QgsDefaultValue)

Sets an expression to use when calculating the default value for the field.

Parameters

defaultValueDefinition – expression to evaluate when calculating default values for field. Pass a default constructed :py:class:`QgsDefaultValue`() to reset.

New in version 3.0.

setEditorWidgetSetup(self, v: QgsEditorWidgetSetup)

Set the editor widget setup for the field.

Parameters

v – The value to set

setLength(self, len: int)

Set the field length.

Parameters

len – Length of the field

setName(self, name: str)

Set the field name.

Parameters

name – Name of the field

setPrecision(self, precision: int)

Set the field precision.

Parameters

precision – Precision of the field

setSubType(self, subType: QVariant.Type)

If the field is a collection, set its element’s type. When all the elements don’t need to have the same type, set this to QVariant.Invalid.

New in version 3.0.

setType(self, type: QVariant.Type)

Set variant type.

setTypeName(self, typeName: str)

Set the field type.

Parameters

typeName – Field type

staticMetaObject = <PyQt5.QtCore.QMetaObject object>
subType(self) → QVariant.Type

If the field is a collection, gets its element’s type. When all the elements don’t need to have the same type, this returns QVariant.Invalid.

New in version 3.0.

type(self) → QVariant.Type

Gets variant type of the field as it will be retrieved from data source

typeName(self) → str

Gets the field type. Field types vary depending on the data source. Examples are char, int, double, blob, geometry, etc. The type is stored exactly as the data store reports it, with no attempt to standardize the value.

Returns

QString containing the field type