Страница 1 из 1

Связанные записи - максимум 1 связь

Добавлено: 03 июл 2023, 23:02
Rav4ik
Здравствуйте.
Перепробовал разные варианты и остановился на связанных записях.

Имеем две отдельные сущности: Клиенты и Заказы. Прям как на видео о связанных записях, только там Запросы и Задачи. Поле связанные записи работают как надо, но нужно, чтобы к 1 клиенту (запросу) можно было привязать/создать несколько заказов (задач), а 1 заказ (задача) не может быть привязан к нескольким клиентам (запросам).

Вложенная сущность (один-ко-многим) здесь не подходит, т.к. нужно иметь возможность создать заказ без привязки к клиенту.

Возможность привязывать/добавлять второго клиента на странице заказа я убрал с помощью js (если 0 клиентов, то кнопки показываем, иначе скрываем). Вроде как костыль, но работает. А как не дать возможность выбрать ранее привязанный заказ к другому клиенту - пока не знаю.

У поля связанные записи есть фильтр. Если его настроить (отображать без связанных записей), то в списке с выбором заказов пропадают заказы, у которых есть клиент, НО эти заказы скрываются отовсюду: список всех заказов - столбец клиент пуст; на странице заказа (с привязанным клиентом) клиентов 0. Либо это баг фильтра, либо это так должно быть и мне не подходит.

Было бы здорово и удобно, если бы поле связанные записи стало универсальным для отдельных сущностей: многие-ко-многим или один-ко-многим. Думаю в реализации это не сложно, а для нас в настройках поля появится один пункт.

Re: Связанные записи - максимум 1 связь

Добавлено: 04 июл 2023, 01:22
Antonyous99
По полю типа Сущность тоже можно связать, при этом связь будет не жесткая, то есть, Заказ может быть и без Клиента, а Клиент, как вам и надо, может быть только один.

Re: Связанные записи - максимум 1 связь

Добавлено: 05 июл 2023, 17:27
Rav4ik
Спасибо за ответ. Но нужна взаимная связь. Поле связанные записи как раз создают взаимную связь.

И кстати удалось победить и запретить/скрыть возможность привязывать к заказу нескольких клиентов с помощью JS, все также используя поле связанные записи.