字段对象
collection
string
字段所在的集合的名称。
field
string
字段的标识符。 这与表列名称匹配。
type
string
字段的 Directus 数据类型。 有关可能的选项,请参阅 Types。
Meta
Directus 元数据,主要用于 Admin App。 元是可选的。
id
integerdirectus_fields
中元数据行的主键。
collection
string
此字段所在的集合的名称。
field
string
字段的标识符。 匹配数据库中的列名。
special
string
适用于该字段的任何特殊转换标志。
interface
string
用于该字段的接口。
options
object
为此字段配置的接口选项。 该结构基于所使用的接口。
display
string
用于此字段的显示。
display_options
string
所用显示器的配置选项。
readonly
boolean
如果该字段在管理应用程序中被视为只读。
hidden
boolean
如果该字段在 Admin App 的编辑页面中隐藏。
sort
integer
此字段显示在 Admin App 的编辑页面上的位置。
width
string
在 Admin App 的编辑页面上呈现界面的宽度。 half
、half-left
、half-right
、half-space
、full
、fill
之一。
translations
array
此字段的名称如何在 Admin App 中以不同语言显示。
note
string
管理应用程序中显示的简短说明。
架构
“原始”数据库信息。 根据使用的数据库供应商,可能会返回不同的信息。 以下内容适用于所有驱动程序。 注意:架构是可选的。 如果一个字段存在于 directus_fields 中,但不存在于数据库中,则它是一个别名,通常用于 Admin App 中的关系 (O2M) 或演示目的。
name
string
字段的标识符。 匹配数据库中的列名。
table
string
列所在的表的名称。
data_type
string
数据库中使用的数据类型。 注意:此值是特定于数据库供应商的。
default_value
any
为列配置的默认值。
max_length
integer
varchar 类型列的配置长度。
numeric_precision
integer
整数/浮点数/小数类型字段的精度。
numeric_scale
integer
整数/浮点/小数类型字段的比例。
is_nullable
boolean
该列是否可以为空。 这就是 Directus 中的“必需”状态。
is_primary_key
boolean
该字段是否是表的主键。
foreign_key_column
string
如果当前列具有外键约束,则 this 指向相关列。
foreign_key_table
string
如果当前列有外键约束,则 this 指向相关表。
comment
string
存储在数据库中的注释。
{
"collection": "articles",
"field": "id",
"type": "integer",
"meta": {
"id": 16,
"collection": "articles",
"field": "id",
"special": null,
"interface": "numeric",
"options": null,
"display": null,
"display_options": null,
"readonly": true,
"hidden": true,
"sort": 1,
"width": "full",
"translations": null,
"note": "The unique identifier of the article"
},
"schema": {
"name": "id",
"table": "articles",
"data_type": "integer",
"default_value": null,
"max_length": null,
"numeric_precision": 32,
"numeric_scale": 0,
"is_nullable": false,
"is_primary_key": true,
"has_auto_increment": true,
"foreign_key_column": null,
"foreign_key_table": null,
"comment": null
}
}
列出所有字段
列出可用字段。
查询参数
此端点当前不支持任何查询参数。
返回
字段对象的数组。
REST API
GET /fields
GraphQL
POST /graphql/system
type Query {
fields: [directus_fields]
}
示例
query {
fields {
collection
field
}
}
列出集合中的字段
列出给定集合中的可用字段。
查询参数
此端点当前不支持任何查询参数。
返回
字段对象的数组。
REST API
GET /fields/:collection
示例
GET /fields/articles
GraphQL
POST /graphql/system
type Query {
fields_in_collection(collection: String!): directus_fields
}
示例
query {
fields_in_collection(collection: "articles") {
collection
field
}
}
检索字段
获取给定集合中的单个字段。
查询参数
此端点当前不支持任何查询参数。
返回
一个字段对象。
REST API
GET /fields/:collection/:field
示例
GET /fields/articles/title
GraphQL
POST /graphql/system
type Query {
fields_by_name(collection: String!, field: String!): directus_fields
}
示例
query {
fields_by_name(collection: "articles", field: "title") {
collection
field
}
}
创建字段
在给定集合中创建一个新字段。
查询参数
此端点当前不支持任何查询参数。
请求正文
field
Required
字段键,也用作列名。
type
Required
Directus 类型之一。 这反过来控制数据库中的列使用什么数据类型。 将类型设置为“别名”可防止在数据库中创建列。
meta
field object 中的任何可选元值。
schema
field object 中的任何可选架构值。
返回
已创建字段的 字段对象。
REST API
POST /fields/:collection
示例
// POST /fields/articles
{
"field": "title",
"type": "string",
"meta": {
"icon": "title"
},
"schema": {
"default_value": "Hello World"
}
}
GraphQL
POST /graphql/system
type Mutation {
create_fields_item(collection: String!, data: create_directus_fields_input!): directus_fields
}
示例
mutation {
create_fields_item(
collection: "articles"
data: { field: "title", type: "string", meta: { icon: "title" }, schema: { default_value: "Hello World" } }
) {
collection
field
}
}
更新字段
更新给定集合中的给定字段。
查询参数
此端点当前不支持任何查询参数。
请求正文
type
字段的新类型。
改变类型
类型可能不兼容,和/或数据可能被截断/损坏。 使用内容更改现有字段的类型时请小心。
meta
字段对象 中的任何可选元值。
schema
字段对象 中的任何可选架构值。
目前不支持更新字段名称。
返回
更新字段的 字段对象。
REST API
PATCH /fields/:collection/:field
示例
// PATCH /fields/articles/title
{
"meta": {
"note": "Put the title here"
},
"schema": {
"default_value": "Hello World!"
}
}
GraphQL
POST /graphql/system
type Mutation {
update_fields_item(collection: String!, field: String!, data: update_directus_fields_input!): directus_fields
}
示例
mutation {
update_fields_item(
collection: "articles"
field: "title"
data: { meta: { note: "Put the title here" }, schema: { default_value: "Hello World!" } }
) {
collection
field
}
}
删除字段
删除给定集合中的给定字段。
破坏性的
请注意,这将从数据库中删除该列,包括其中的所有数据。 此操作无法撤消。
REST API
DELETE /fields/:collection/:field
示例
DELETE /fields/articles/title
GraphQL
POST /graphql/system
type Mutation {
delete_fields_item(collection: String!, field: String!): delete_field
}
示例
mutation {
delete_fields_item(collection: "articles", field: "title") {
collection
field
}
}