Сайт ↗
Разделы документации
UI интерфейс · 0.8.1

Content / Поля: типы, формы и поведение списков

Добавьте поле, настройте обязательность, редактор, поиск и сортировку; разберите переименование и удаление.

На этой странице

Добавить поле

Откройте persistent-сущность в Content и нажмите Add field. Выберите тип, заполните настройки и сохраните через Finish. Существующее поле открывается нажатием на его строку в Fields.

Категория Варианты и применение
Identifier UUID или int64 primary key с генерацией значения БД
Text string, text; также Multiline, Markdown, Password, Email, URL
Number int, int64, float
Boolean bool, например isVisible
UUID value UUID без автоматического назначения primary key
Date / time date или datetime
Choice enum с заданными вариантами
Structured data json
Image / Gallery Одно изображение или набор
Relation Связь с другой сущностью

Если primary key уже задан, второй Identifier добавить нельзя. Выбор обычного UUID value создаёт UUID-поле, но не настраивает его как идентификатор.

Basic settings

В Field name задайте техническое имя с маленькой буквы: например, publishedAt или published_at. Через Presentation выберите способ ввода в системе администрирования. Markdown сохраняется как текст; Email и URL дают соответствующее представление. Password скрывает введённые символы, но не хеширует и не шифрует значение.

У enum перечислите неповторяющиеся варианты через запятую: draft, published, archived. В интерфейсе они появятся в том же порядке. Required требует заполнить значение, Nullable разрешает NULL. Для image и relation обязательность задаётся отдельными настройками.

Advanced settings

Параметр Назначение
Title / Description Подпись и пояснение в админке, без переименования ключа API
Default value Значение по умолчанию совместимого типа
Primary key / Unique / Indexed Ключ, уникальность и индекс
ID autogeneration Генерация UUID или PostgreSQL identity для совместимого primary key
Readonly Недоступность ручного редактирования в форме
Hidden Скрытие в генерируемом интерфейсе; не замена серверных прав
Width (px) Фиксированная ширина колонки; пусто — автоматическая

При настройке значений используйте подходящий формат: date — 2026-09-28, datetime — RFC3339, например 2026-09-28T09:00:00Z. Для JSON default нужен поддерживаемый объект. Для bool указывайте логическое значение, а не строку "false".

Поиск, фильтры и сортировка

Откройте List behavior и включите те действия, которые нужны пользователю списка:

Переключатель Поведение
Searchable Серверный текстовый поиск по string/text
Filterable Типизированные условия по полю
Sortable Сортировка всего результата до пагинации

Если настройка недоступна для выбранного типа, откройте подсказку со знаком вопроса. JSON, media, hidden и представление password нельзя использовать как обычные колонки поиска и сортировки. У виртуальных сущностей эти возможности выбираются отдельно от источника.

Пример для Product: у title включите Searchable и Sortable, у status — Filterable, у position — Sortable. В приложении можно будет искать по поисковым колонкам, применять условия кнопкой Apply filters и сортировать нажатием на заголовок. Сервер объединит условия и вернёт результат; при изменении условий список перейдёт на первую страницу.

Rename и смена типа

Чтобы переименовать сохранённое поле, сначала сохраните или отмените остальные правки, затем откройте Rename. Введите имя и нажмите Preview rename: проверьте изменения API, колонки БД и ссылок модели. Confirm rename сохранит новое имя в manifest; файлы обновит Generate, а БД — миграции. Custom-код и внешние клиенты нужно исправить самостоятельно. В этой версии primary key и физические ключи связей переименовать нельзя.

Type обычного поля можно изменить до первой успешной генерации. После неё тип блокируется. Заменить поле можно последовательностью удалить → Generate → создать замену → Generate, но при применении миграций старые значения будут удалены. Для защищённых идентификаторов этот способ недоступен.

Удаление

Перед подтверждением Delete проверьте последствия удаления. Для обычной сгенерированной колонки нужно подтвердить потерю значений при применении миграции. Cancel не сохраняет черновик. После удаления обязательно откройте Preview и изучите изменения.

Дополнительно: поля через CLI, переименование.