mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
* items semi complete
* updated items page to use snippet toggler and migrated endpoint docs to use it
* updated files page to use snippet toggler and migrated REST and GraphQL endpoint docs to it
* updated activity page to use snippet toggler and migrated REST and GraphQL endpoint doc to it
* updated collections page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* updated dashboards page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated extensions page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated fields page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated flows page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated folders page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated notifications page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated operations page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated panels page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated permissions page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated presets page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated relations page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated revisions page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated roles page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Made headlines consistant with the rest of the doc pages
* Updated server page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated settings page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated shares page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated translations page to use snippet togglers and migrated REST endpoint docs to them
* Updated users page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated utilities page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated webhooks page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated authentication page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* Updated Global Parameters page to use snippet togglers where there are adjacent REST and GraphQL Examples
* Added SDK code snippets to items page and made generic variables consistant
* Added SDK code snippets to files page and made generic variables consistant
* Few lang changes for files page
* Added SDK code snippets to activity page and made generic variables consistant
* Added SDK code snippets to collections page and made generic variables consistant
* Added SDK code snippets to dashboards page and made generic variables consistant
* removed query word from query parameter objects
* Added SDK code snippets to fields page and made generic variables consistant
* SnippetToggler border
* Used dynamic border color for snippettoggler heading
* Spacing top and bottom of snippet toggler in docs
* Removed extra HRs
* Remove manual TOC in query reference
* Small code styling change in items page
* Updated users page to use snippet togglers and migrated REST and GraphQL endpoint docs to them
* dashboards fixed up property names
* Small copy update on extensions page
* Updated keys in delete mult notifications REST
* Updated keys in operations
* Update keys in panel delete many
* Update keys in permissions
* Added quotes around generic example ID strings
* Added code formatting to final example in share public info
* Format files
* Refined sidebar
* Insert newline before ending template tags
* Fixed extra closing tags, causing an error, un users ref
* Text Formatting Users
* Put GQL related notes inside toggler
* Added SDK code snippets to flows page and made generic variables consistant
* Added SDK code snippets to folder page and made generic variables consistant
* fixing whitepsace for flows and folders page
* Consistent newlines in SnippetToggler usages
* Run prettier
* Fix 'alwaysDark' definition
* Home page snippet toggler style fixes
* Fix snippet toggler lang hover color in light mode
* Introduce different code theme for light mode
* Added SDK code snippets to notifications page and made generic variables consistant
* Switch to 'material-theme-lighter'
* Format file
* Fix tip
* Fix tip in sdk ref
* Consistent spacing for custom containers
* Added SDK code snippets to operations page and made generic variables consistant
* Lint & format code blocks
* Lint & format operations
* Added SDK code snippets to panels page and made generic variables consistant
* Added SDK code snippets to permissions page and made generic variables consistant
* Added SDK code snippets to presets page and made generic variables consistant
* Added SDK code snippets to relations page and made generic variables consistant
* Added SDK code snippets to revisions page and made generic variables consistant
* Added SDK code snippets to roles page and made generic variables consistant
* Added SDK code snippets to server page and made generic variables consistant
* Added SDK code snippets to settings page and made generic variables consistant
* app_url -> directus_project_url
* Omitted auth details in delete multiple files
* Added quotes to values in roles
* Upload a file snippets
* Pluralization for upload/import files
* More files functions typos
* Added SDK code snippets to shares page (still missing createShare(s) as endpoint not functioning currently) and made generic variables consistant
* Added SDK code snippets to translations page (missing delete endponts because not working) and made generic variables consistant
* Added SDK code snippets to users page and made generic variables consistant
* Added SDK code snippets to webhooks page and made generic variables consistant
* Added SDK code snippets to utilites page (except cleaning cache, will be tested and added in later commit) and made generic variables consistant
* Added SDK code snippets to auth page (not login, refresh, and logout though due to errors)
* Added SDK code snippets for utilsExport and clearCache
* added github username be7DOTis to contributors
* Omit auth commands in updateComment
* utilsImport
* rename app_url generic value
* changed instances of updated*operation* to update*Operation*
* missed some 'updated' changse
* Added SDK Snippets to Query Parameters page
* Add section on file security
* added create(s)Shares SDK snippet to shares page
* added console.log to create snippets
* Added delete(s)Webhook SDK snippet to webhooks page
* Added SDK snippets to extensions page
* Added create/updateSingleton section to items page
* Links in files security
* Added SDK Snippets to Schema page
* Added GQL Generic examples to snippet togglers and removed snippet toggler from Login Using SSO Providers
* Added create(s)Presets SDK Snippets to presets page
* replaced fields query in generics snippets for a more generic
* replaced fields query in generics snippets for a more generic
* Use storage value only if valid choice
* Sync snippet togglers across page
* Update docs/reference/system/activity.md
* Update docs/reference/system/activity.md
* Update docs/reference/system/extensions.md
* Update docs/reference/system/revisions.md
* Update docs/reference/system/settings.md
* Update docs/reference/system/revisions.md
* Update docs/reference/system/settings.md
* Update docs/reference/system/activity.md
* Update docs/reference/system/roles.md
* Update docs/reference/system/roles.md
* Update docs/reference/system/roles.md
* Update docs/reference/system/roles.md
* Update docs/reference/system/schema.md
* Update docs/reference/system/server.md
* Update docs/reference/system/shares.md
* Replace all directus_project_url placeholders
* Revert "Sync snippet togglers across page"
This reverts commit 8b36f0d778.
* Update docs/reference/system/shares.md
* Update docs/reference/system/webhooks.md
* Clarify singleton section
* Consistent newlines between SnippetToggler templates
* Format files
* Remove console.log(result) statements from snippet
* Add examples for shares & users
Co-authored-by: Brainslug <tim@brainslug.nl>
* Fix hash GraphQL example
* Clarify update singleton section
* Add auth examples
Co-authored-by: Brainslug <tim@brainslug.nl>
* Final run on consistent newlines between SnippetToggler
* Switch to github themes
* The "Last One"
Co-authored-by: Brainslug <tim@brainslug.nl>
* The "Big One"
* Fix dead links
---------
Co-authored-by: Bevis Halsey-Perry <hi@be7.is>
Co-authored-by: Kevin Lewis <kvn@lws.io>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
745 lines
14 KiB
Markdown
745 lines
14 KiB
Markdown
---
|
|
description: REST and GraphQL API documentation on the Fields collection in Directus.
|
|
readTime: 7 min read
|
|
pageClass: page-reference
|
|
---
|
|
|
|
# Fields
|
|
|
|
> Fields are individual pieces of content within an item. They are mapped to columns in the database.
|
|
> [Learn more about Fields](/user-guide/overview/glossary#fields).
|
|
|
|
## The Field Object
|
|
|
|
`collection` **string**\
|
|
Name of the collection the field resides in.
|
|
|
|
`field` **string**\
|
|
The identifier of the field. This matches the table column name.
|
|
|
|
`type` **string**\
|
|
The Directus data type of the field. See [Types](/user-guide/overview/glossary#types) for possible options.
|
|
|
|
#### Meta
|
|
|
|
Directus metadata, primarily used in the Admin App. Meta is optional.
|
|
|
|
`id` **integer**\
|
|
Primary key of the metadata row in `directus_fields`.
|
|
|
|
`collection` **string**\
|
|
The name of the collection this field resides in.
|
|
|
|
`field` **string**\
|
|
Identifier of the field. Matches the column name in the database.
|
|
|
|
`special` **string**\
|
|
Any special transform flags that apply to this field.
|
|
|
|
`interface` **string**\
|
|
The interface used for this field.
|
|
|
|
`options` **object**\
|
|
The interface options configured for this field. The structure is based on the interface used.
|
|
|
|
`display` **string**\
|
|
The display used for this field.
|
|
|
|
`display_options` **string**\
|
|
The configured options for the used display.
|
|
|
|
`readonly` **boolean**\
|
|
If the field is considered readonly in the Admin App.
|
|
|
|
`hidden` **boolean**\
|
|
If the field is hidden from the edit page in the Admin App.
|
|
|
|
`sort` **integer**\
|
|
Where this field is shown on the edit page in the Admin App.
|
|
|
|
`width` **string**\
|
|
How wide the interface is rendered on the edit page in the Admin App. One of `half`, `half-left`, `half-right`, `half-space`,
|
|
`full`, `fill`.
|
|
|
|
`translations` **array**\
|
|
How this field's name is displayed in the different languages in the Admin App.
|
|
|
|
`note` **string**\
|
|
Short description displayed in the Admin App.
|
|
|
|
#### Schema
|
|
|
|
"Raw" database information. Based on the database vendor used, different information might be returned. The following
|
|
are available for all drivers. Note: schema is optional. If a field exist in directus_fields, but not in the database,
|
|
it's an alias commonly used for relational (O2M) or presentation purposes in the Admin App.
|
|
|
|
`name` **string**\
|
|
Identifier of the field. Matches the column name in the database.
|
|
|
|
`table` **string**\
|
|
Name of the table the column resides in.
|
|
|
|
`data_type` **string**\
|
|
The datatype as used in the database. Note: this value is database vendor specific.
|
|
|
|
`default_value` **any**\
|
|
The configured default value for the column.
|
|
|
|
`max_length` **integer**\
|
|
Configured length for varchar type columns.
|
|
|
|
`numeric_precision` **integer**\
|
|
Precision for integer/float/decimal type fields.
|
|
|
|
`numeric_scale` **integer**\
|
|
Scale for integer/float/decimal type fields.
|
|
|
|
`is_nullable` **boolean**\
|
|
Whether or not the column is nullable. This is what is used as the "required" state in Directus.
|
|
|
|
`is_primary_key` **boolean**\
|
|
Whether or not the field is the primary key of the table.
|
|
|
|
`foreign_key_column` **string**\
|
|
If the current column has a foreign key constraint, this points to the related column.
|
|
|
|
`foreign_key_table` **string**\
|
|
If the current column has a foreign key constraint, this points to the related table.
|
|
|
|
`comment` **string**\
|
|
Comment as stored in the database.
|
|
|
|
```json
|
|
{
|
|
"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
|
|
}
|
|
}
|
|
```
|
|
|
|
## List All Fields
|
|
|
|
List the available fields.
|
|
|
|
### Request
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`GET /fields`
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
type Query {
|
|
fields: [directus_fields]
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, readFields } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(readFields());
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|
|
|
|
#### Query Parameters
|
|
|
|
This endpoint doesn't currently support any query parameters.
|
|
|
|
### Response
|
|
|
|
An array of [field objects](#the-field-object).
|
|
|
|
### Example
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`GET /fields`
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
query {
|
|
fields {
|
|
collection
|
|
field
|
|
}
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, readFields } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(readFields());
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|
|
|
|
## List Fields in Collection
|
|
|
|
List the available fields in a given collection.
|
|
|
|
### Request
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`GET /fields/:collection`
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
type Query {
|
|
fields_in_collection(collection: String!): directus_fields
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, readFieldsByCollection } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(readFieldsByCollection('collection_name'));
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|
|
|
|
#### Query Parameters
|
|
|
|
This endpoint doesn't currently support any query parameters.
|
|
|
|
### Response
|
|
|
|
An array of [field objects](#the-field-object).
|
|
|
|
### Example
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`GET /fields/articles`
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
query {
|
|
fields_in_collection(collection: "articles") {
|
|
collection
|
|
field
|
|
}
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, readFieldsByCollection } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(readFieldsByCollection('articles'));
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|
|
|
|
## Retrieve a Field
|
|
|
|
Get a single field in a given collection.
|
|
|
|
### Request
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`GET /fields/:collection/:field`
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
type Query {
|
|
fields_by_name(collection: String!, field: String!): directus_fields
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, readField } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(readField('collection_name', 'field_name'));
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|
|
|
|
#### Query Parameters
|
|
|
|
This endpoint doesn't currently support any query parameters.
|
|
|
|
### Response
|
|
|
|
A [field object](#the-field-object).
|
|
|
|
### Example
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`GET /fields/articles/title`
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
query {
|
|
fields_by_name(collection: "articles", field: "title") {
|
|
collection
|
|
field
|
|
}
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, readField } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(readField('articles', 'title'));
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|
|
|
|
## Create a Field
|
|
|
|
Create a new field in the given collection.
|
|
|
|
### Request
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`POST /fields/:collection`
|
|
|
|
```json
|
|
{
|
|
"field": "field_key",
|
|
"type": "value_type",
|
|
"field_field": {
|
|
"field_sub_field": "value_1"
|
|
}
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
type Mutation {
|
|
create_fields_item(collection: String!, data: create_directus_fields_input!): directus_fields
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, createField } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(
|
|
createField('collection_name', {
|
|
field: 'field_name',
|
|
type: 'field_type',
|
|
field_field: {
|
|
field_sub_field: 'value_3',
|
|
},
|
|
})
|
|
);
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|
|
|
|
#### Query Parameters
|
|
|
|
This endpoint doesn't currently support any query parameters.
|
|
|
|
#### Request Body
|
|
|
|
`field` **Required**\
|
|
Field key, also used as the column name.
|
|
|
|
`type` **Required**\
|
|
One of the Directus types. This in turn controls what datatype is used for the column in the database. Setting the type to
|
|
`alias` prevents a column from being created in the database.
|
|
|
|
`meta`\
|
|
Any of the optional meta values in the [field object](#the-field-object).
|
|
|
|
`schema`\
|
|
Any of the optional schema values in the [field object](#the-field-object).
|
|
|
|
### Response
|
|
|
|
The [field object](#the-field-object) for the created field.
|
|
|
|
### Example
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`POST /fields/articles`
|
|
|
|
```json
|
|
{
|
|
"field": "title",
|
|
"type": "string",
|
|
"meta": {
|
|
"icon": "title"
|
|
},
|
|
"schema": {
|
|
"default_value": "Hello World"
|
|
}
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
mutation {
|
|
create_fields_item(
|
|
collection: "articles"
|
|
data: { field: "title", type: "string", meta: { icon: "title" }, schema: { default_value: "Hello World" } }
|
|
) {
|
|
collection
|
|
field
|
|
}
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, createField } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(
|
|
createField('articles', {
|
|
field: 'subject tags',
|
|
type: 'csv',
|
|
meta: {
|
|
interface: 'tags',
|
|
note: 'subject tags for an article',
|
|
},
|
|
})
|
|
);
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|
|
|
|
## Update a Field
|
|
|
|
Updates the given field in the given collection.
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`PATCH /fields/articles/title`
|
|
|
|
```json
|
|
{
|
|
"field": {
|
|
"sub_field": "value_1"
|
|
}
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
type Mutation {
|
|
update_fields_item(collection: String!, field: String!, data: update_directus_fields_input!): directus_fields
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, updateField } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(
|
|
updateField('collection_name', 'field_name', {
|
|
field: {
|
|
sub_field: 'value',
|
|
},
|
|
})
|
|
);
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|
|
|
|
#### Query Parameters
|
|
|
|
This endpoint doesn't currently support any query parameters.
|
|
|
|
#### Request Body
|
|
|
|
`type`\
|
|
The new type for the field.
|
|
|
|
::: warning Changing Type
|
|
|
|
Types may not be compatible, and/or data might be truncated / corrupted. Please be careful when changing types of an
|
|
existing field with content.
|
|
|
|
:::
|
|
|
|
`meta`\
|
|
Any of the optional meta values in the [field object](#the-field-object).
|
|
|
|
`schema`\
|
|
Any of the optional schema values in the [field object](#the-field-object).
|
|
|
|
Updating the field name is not supported at this time.
|
|
|
|
### Response
|
|
|
|
The [field object](#the-field-object) for the updated field.
|
|
|
|
### Example
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`PATCH /fields/articles/title`
|
|
|
|
```json
|
|
{
|
|
"meta": {
|
|
"note": "Put the title here"
|
|
},
|
|
"schema": {
|
|
"default_value": "Hello World!"
|
|
}
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
mutation {
|
|
update_fields_item(
|
|
collection: "articles"
|
|
field: "title"
|
|
data: { meta: { note: "Put the title here" }, schema: { default_value: "Hello World!" } }
|
|
) {
|
|
collection
|
|
field
|
|
}
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, updateField } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(
|
|
updateField('articles', 'subject tags', {
|
|
meta: {
|
|
note: 'tags for the article based on subjects addressed',
|
|
},
|
|
})
|
|
);
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|
|
|
|
## Delete a Field
|
|
|
|
Deletes the given field in the given collection.
|
|
|
|
::: danger Destructive
|
|
|
|
Be aware, this will delete the column from the database, including all data in it. This action can't be undone.
|
|
|
|
:::
|
|
|
|
### Request
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`DELETE /fields/:collection/:field`
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
type Mutation {
|
|
delete_fields_item(collection: String!, field: String!): delete_field
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, deleteField } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(deleteField('collection_name', 'field_name'));
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|
|
|
|
### Example
|
|
|
|
<SnippetToggler :choices="['REST', 'GraphQL', 'SDK']" label="API">
|
|
<template #rest>
|
|
|
|
`DELETE /fields/articles/title`
|
|
|
|
</template>
|
|
<template #graphql>
|
|
|
|
`POST /graphql/system`
|
|
|
|
```graphql
|
|
mutation {
|
|
delete_fields_item(collection: "articles", field: "title") {
|
|
collection
|
|
field
|
|
}
|
|
}
|
|
```
|
|
|
|
</template>
|
|
<template #sdk>
|
|
|
|
```js
|
|
import { createDirectus } from '@directus/sdk';
|
|
import { rest, deleteField } from '@directus/sdk/rest';
|
|
|
|
const client = createDirectus('https://directus.example.com').with(rest());
|
|
|
|
const result = await client.request(deleteField('articles', 'featured_quote'));
|
|
```
|
|
|
|
</template>
|
|
</SnippetToggler>
|