Сайт ↗
Разделы документации
Начать · 0.8.1

Как работать с записями в готовом приложении

Вход, списки, поиск, формы, связанные записи и изображения в сгенерированной системе администрирования.

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

В сгенерированной системе администрирования вы работаете с данными: создаёте статьи, обновляете товары и загружаете изображения. Сохранение формы записывает данные в PostgreSQL. Структура проекта при этом не меняется — за неё отвечает Generator UI.

Вход и навигация

Для входа нужна учётная запись: первую создаёт оператор по инструкции первоначальное создание аккаунта. После входа откройте нужный модуль и сущность в меню. Скрытый пункт меню сам по себе не защищает данные: доступ дополнительно проверяет сервер при каждом запросе.

У сущностей с хранением могут быть List, Details, Create, Edit и Delete — в зависимости от сгенерированных возможностей и ваших прав. У проекций доступно только чтение. Модуль помогает организовать меню, но не выдаёт права на все сущности внутри него.

Список записей

В списке видны записи текущей страницы, общее количество и переходы между страницами. Данные занимают основную часть таблицы, действия находятся справа. Related records открывает связанные записи; Delete удаляет запись после подтверждения. Наведите курсор на ячейку, чтобы понять, можно ли открыть её содержимое.

Ищите, фильтруйте и сортируйте записи через доступные элементы списка. Эти возможности включаются у полей в Generator UI, в List behavior. Поиск по string/text, фильтры по типу поля и сортировка работают на сервере до разделения результата на страницы. У virtual настройки независимы от исходной сущности, а коллекции в карточке имеют собственные элементы управления. Если нужной возможности нет, проверьте поле в генераторе и обновите приложение после Generate.

Создание и изменение

Заполните форму и нажмите сохранение. Если значение не прошло проверку, исправьте его и повторите попытку. При сетевой ошибке не считайте запись сохранённой. Если ответ неоднозначен, сначала перечитайте запись: возможно, сервер уже успел принять изменение.

Поведение Hidden/Readonly, обязательных полей и форматов описано в правилах полей. Если разрабатываете собственный редактор, учитывайте: FormData сохраняет полный актуальный объект, а не выполняет произвольное PATCH-слияние. Сохраняйте и поля, которые редактор пока не показывает. Иначе после добавления поля в manifest старый клиент может потерять его значение.

Отношения и изображения

Начните вводить название в поле связанной записи: варианты загружаются асинхронно, число результатов ограничено. Через Related records открываются доступные обратные коллекции. Состав many-to-many меняют у владельца связи при необходимых правах; обратное представление позволяет только смотреть этот состав.

В Image/Gallery сначала дождитесь окончания загрузки файлов, затем сохраняйте саму запись. Неуспешные элементы исправьте или удалите перед сохранением. Загрузка изображения и сохранение формы — два отдельных действия; подробнее в статье изображения.

Настройка под свою задачу

Чтобы получить визуальный редактор статьи с режимом исходного текста, выберите Presentation → Markdown в Generator UI. Для Multiline, JSON, даты, перечисления и медиа тоже есть встроенные элементы ввода. Особое поведение можно реализовать в custom UI с соблюдением правил формы. Можно заменить и всю страницу, но тогда её обновление полностью лежит на разработчике. Подробнее — расширения.

Дополнительно: CLI

CLI генератора редактирует модель приложения; для повседневного изменения записей используйте систему администрирования. Запуск, миграции и обслуживание описаны в операторских командах.

Не путайте два интерфейса

Менять поля и доступ нужно в отдельном Generator UI, после чего выполнять Generate. Изменения самих записей вступают в силу после сохранения формы и новой генерации не требуют.