Skip to main content

Field

Summary

The Field object represents a column in a table.

Discussion

Field properties can be accessed through the ListFields and Describe functions.

Updating a field property only updates the Field object; no changes are made to the actual field in the table or feature class.

Syntax

Field()

Properties

Name Explanation Data type

aliasName

(Read and Write)

The alias name of the field.

String

baseName

(Read and Write)

The unqualified field name.

String

defaultValue

(Read and Write)

The default value of the field.

Variant

domain

(Read and Write)

The name of the associated domain.

String

editable

(Read and Write)

Specifies whether the field is editable.

Boolean

isNullable

(Read and Write)

Specifies whether the field can contain null values.

Boolean

length

(Read and Write)

The length of the field.

Integer

name

(Read and Write)

The name of the field.

String

precision

(Read and Write)

The precision for field values.

For fields of type Date, the precision can be either 0 or 1.

  • 0—A regular date field. Data will be stored to the second (1/60 of a minute).

  • 1—A high precision date field. Data will be stored to the millisecond (1/1000 of a second).

Integer

required

(Read and Write)

Specifies whether the field is required. A required field cannot be deleted.

Boolean

scale

(Read and Write)

The scale of the field.

Integer

type

(Read and Write)

Specifies the field type.

  • Blob—The field type will be BLOB.

  • BigInteger—The field type will be Big Integer.

  • Date—The field type will be Date.

  • DateOnly—The field type will be Date Only.

  • Double—The field type will be Double.

  • Geometry—The field type will be Geometry.

  • GlobalID—The field type will be Global ID.

  • Guid—The field type will be GUID.

  • Integer—The field type will be Integer (Long Integer).

  • OID—The field type will be Object ID.

  • Raster—The field type will be Raster.

  • Single—The field type will be Single (Float).

  • SmallInteger—The field type will be Small Integer (Short Integer).

  • String—The field type will be String (Text).

  • TimeOnly—The field type will be Time Only.

  • TimestampOffset—The field type will be Timestamp Offset.

Note:

The Field object's type property values are not an exact match for the keywords used by the Add Field tool's field_type parameter. Despite this, all of the Field object's type values are acceptable values as input to this parameter. The different field types are mapped as follows:

  • Integer to LONG

  • String to TEXT

  • SmallInteger to SHORT

String

Code sample

Field example

Display field properties for the specified feature class.

import arcpy

feature_class = "c:/data/counties.shp"

# Create a list of fields using the ListFields function
fields = arcpy.ListFields(feature_class)

# Iterate through the list of fields
for field in fields:
    # Print field properties
    print("Field:       {0}".format(field.name))
    print("Alias:       {0}".format(field.aliasName))
    print("Type:        {0}".format(field.type))
    print("Is Editable: {0}".format(field.editable))
    print("Required:    {0}".format(field.required))
    print("Scale:       {0}".format(field.scale))
    print("Precision:   {0}".format(field.precision))