Хорошо, это может быть просто, но у меня проблемы с визуализацией того, что мне нужно поместить в ATK4.
У меня есть таблица (команда) с идентификатором столбца, именем и ссылкой. Идентификатор представляет собой столбец автоинкремента и ссылку. В таблице есть 3 строки, как это
id, name, last_ref
1, 'Team 1', 1000
2, 'Team 2', 1000
3, 'Team 3', 2000
Существует еще одна таблица (история) с идентификаторами столбцов, именем, team_id и team_ref, которая после заполнения данными выглядит так:
id, name, team_id, team_ref
1, 'Story A', 1, 1001
2, 'Story B', 1, 1002
3, 'Story C', 1, 1003
4, 'Story D', 2, 1001
5, 'Story E', 3, 2001
Для каждой вставки в таблицу историй, team_ref просматривается в таблице команд, увеличивается на 1, а результат сохраняется в строке истории. Поле last_ref также должно быть немедленно обновлено на тот случай, если кто-то еще вставит новую строку в таблицу истории.
Таким образом, после того, как приведенное выше вставляется в таблицу историй, таблица команд должна выглядеть так, как показано ниже, поэтому каждая команда поддерживает свою собственную последовательность и распределяет числа по порядку.
id, name, last_ref
1, 'Team 1', 1003
2, 'Team 2', 1001
3, 'Team 3', 2001
Страница, на которую вставлены записи истории, является CRUD, но я не уверен, должен ли я вставлять логику в CRUD, страницу или саму модель. Это должно влиять только на вставки, и я подумал, что, возможно, это должно быть значение по умолчанию для addField ('last_ref'), но могу ли я сделать это функцией и где должна быть определена функция?
Было бы неплохо, хотя и не обязательно, чтобы при увеличении last_ref пропускались все ссылки, которые уже используются в таблице для текущей команды (в случае вставки с помощью каких-либо других средств, кроме CRUD).
Заранее спасибо.