Пользовательские вкладки, поля и фильтры в карточке
См.также
Для создания пользовательских полей в базе данных векторов признаков см. Пользовательские метаданные в Tarantool.
Для добавления пользовательских вкладок и полей в карточки людей и транспортных средств выполните следующие действия:
Подготовьте список пользовательских вкладок и полей для добавления в карточки.
Откройте файл конфигурации
/opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
.sudo vi /opt/findface-multi/configs/findface-multi-legacy/findface-multi-legacy.py
Настройте карточки людей. Для этого раскомментируйте секцию
FFSECURITY
->CUSTOM_FIELDS
->human_card
и измените ее примерное содержимое с учетом следующих правил:'items'
: список полей в карточке. Опишите каждое поле следующими параметрами:'name'
: внутреннее имя поля, string.default
: значение по умолчанию. Если значение по умолчанию больше1e14 – 1
, то его следует записывать в виде строки, т. е.“123123..”
вместо123123..
.'label'
: название поля в карточке, string.'tab'
: вкладка, на которой располагается поле.'display'
: формат отображения (form
илиlist
), string или array.'description'
: описание поля, string.'editable'
: редактируемость поля, boolean.'type'
: тип данных поля, string. Возможные значения:list
: требует заданияitems
, дополнительного параметра для списков (см. ниже), ожидает объекты {id, name} в словарях;valuelist
: ожидает элементы примитивных типов.objectlist
: позволяет создавать массивы объектов нужного типа.datetime
: примитивный тип данных, отображаемый как список datetime.date
: примитивный тип данных, отображаемый как выбор даты.boolean
: примитивный тип данных, отображаемый как флажок.string
: примитивный тип данныхstring
.
дополнительные параметры для списков (
type=list
,type=valuelist
):multiple
: возможность выбора нескольких элементов в списке, boolean.items
: словарь, используемый как источник данных для списка.allow_create
: возможность добавления новых элементов в список, boolean.custom_id
: пользовательское поле для id (type=list
).
дополнительные параметры для списков объектов (
type=objectlist
).object
: объекты, используемые как источник данных для списка объектов.simple
: указывает, что поле ожидает данные примитивного типа вместо объектов, например, ожидает строки с телефонными номерами.
'filters'
: список фильтров для поиска по пользовательским полям. Параметры:'name'
: внутреннее имя фильтра,'label'
: название фильтра в веб-интерфейсе,'field'
: связанное поле в формате[имя поля]
.
'tabs'
: список полей в карточке.
FFSECURITY = { ... # -- Custom model fields -- # Edit CUSTOM_FIELDS -> `human_card` section to customize human card fields. # Edit CUSTOM_FIELDS -> `car_card` section to customize car card fields. ... 'CUSTOM_FIELDS': { 'human_card': { 'items': [ { 'name': 'personid', 'default': '', 'label': 'PersonID', 'display': ['list', 'form'], 'description': 'Sigur person ID', 'editable': False }, { 'name': 'firstname', 'default': '', 'label': 'First Name', 'display': ['list', 'form'], 'description': 'Sigur first name', 'editable': False }, { 'name': 'lastname', 'default': '', 'label': 'Last Name', 'display': ['list', 'form'], 'description': 'Sigur last name', 'editable': False }, { 'name': 'version', 'default': '', 'label': 'Version', 'display': ['list', 'form'], 'description': 'Sigur photo version', 'editable': False } ], 'filters': [ { 'name': 'personid', 'label': 'Sigur person ID filter', 'field': 'personid' } ] }, 'car_card': {}, # same fields are available }, }
Настройте карточки транспортных средств. Для этого продублируйте содержимое секции
human_card
в секциюcar_card
и измените его по аналогии.Перезапустите контейнер
findface-multi-findface-multi-legacy-1
.sudo docker container restart findface-multi-findface-multi-legacy-1
Вы увидите, что в карточках появилось новое содержимое.