src/objects/post-card.object.ts
Основные моменты
universalIdentifierдолжен быть уникальным и стабильным между развёртываниями.- Каждому полю требуются
name,type,labelи собственный стабильныйuniversalIdentifier. - Массив
fieldsнеобязателен — вы можете определять объекты без пользовательских полей. - Встроенным полям, определённым здесь, не нужен
objectUniversalIdentifier— он наследуется от родительского объекта. ИспользуйтеdefineField(), чтобы добавить поля к объектам, которые вам не принадлежат. - Вы можете сгенерировать заготовки новых объектов с помощью
yarn twenty dev:add object, который проведёт вас через настройку названий, полей и связей. См. Architecture → Scaffolding entities.
Базовые поля добавляются автоматически. Когда вы определяете пользовательский объект, Twenty создаёт для вас стандартные поля, такие как
id, name, createdAt, updatedAt, createdBy, updatedBy и deletedAt. Вам не нужно объявлять их в массиве fields — только ваши пользовательские поля. Вы можете переопределить базовое поле, объявив поле с тем же именем, но это редко бывает хорошей идеей.Значения по умолчанию
Строковые значения по умолчанию должны быть заключены в одинарные кавычки внутри строки —defaultValue: "'Draft'", а не defaultValue: "Draft". Именно поэтому поле status выше использует `'${PostCardStatus.DRAFT}'`.
Незаключённые в кавычки строки зарезервированы для вычисляемых значений по умолчанию, которые рассчитываются при создании записи:
'uuid'— генерирует UUID (для полейUUID)'now'— текущая временная метка (для полейDATE_TIME)
{ source: "'MANUAL'" } в поле ACTOR) и к значениям SELECT/MULTI_SELECT. Строковый литерал по умолчанию, оставленный без кавычек, вызывает предупреждение при сборке приложения.
Что дальше
- Свяжите этот объект с другими — см. Relations для двунаправленного шаблона связей.
- Добавляйте поля к объектам из других приложений — см. Extending Objects о
defineField(). - Отобразите этот объект в интерфейсе — см. Views и Navigation Menu Items, чтобы поместить его в боковую панель.