Связанные записи - максимум 1 связь
Добавлено: 03 июл 2023, 23:02
Здравствуйте.
Перепробовал разные варианты и остановился на связанных записях.
Имеем две отдельные сущности: Клиенты и Заказы. Прям как на видео о связанных записях, только там Запросы и Задачи. Поле связанные записи работают как надо, но нужно, чтобы к 1 клиенту (запросу) можно было привязать/создать несколько заказов (задач), а 1 заказ (задача) не может быть привязан к нескольким клиентам (запросам).
Вложенная сущность (один-ко-многим) здесь не подходит, т.к. нужно иметь возможность создать заказ без привязки к клиенту.
Возможность привязывать/добавлять второго клиента на странице заказа я убрал с помощью js (если 0 клиентов, то кнопки показываем, иначе скрываем). Вроде как костыль, но работает. А как не дать возможность выбрать ранее привязанный заказ к другому клиенту - пока не знаю.
У поля связанные записи есть фильтр. Если его настроить (отображать без связанных записей), то в списке с выбором заказов пропадают заказы, у которых есть клиент, НО эти заказы скрываются отовсюду: список всех заказов - столбец клиент пуст; на странице заказа (с привязанным клиентом) клиентов 0. Либо это баг фильтра, либо это так должно быть и мне не подходит.
Было бы здорово и удобно, если бы поле связанные записи стало универсальным для отдельных сущностей: многие-ко-многим или один-ко-многим. Думаю в реализации это не сложно, а для нас в настройках поля появится один пункт.
Перепробовал разные варианты и остановился на связанных записях.
Имеем две отдельные сущности: Клиенты и Заказы. Прям как на видео о связанных записях, только там Запросы и Задачи. Поле связанные записи работают как надо, но нужно, чтобы к 1 клиенту (запросу) можно было привязать/создать несколько заказов (задач), а 1 заказ (задача) не может быть привязан к нескольким клиентам (запросам).
Вложенная сущность (один-ко-многим) здесь не подходит, т.к. нужно иметь возможность создать заказ без привязки к клиенту.
Возможность привязывать/добавлять второго клиента на странице заказа я убрал с помощью js (если 0 клиентов, то кнопки показываем, иначе скрываем). Вроде как костыль, но работает. А как не дать возможность выбрать ранее привязанный заказ к другому клиенту - пока не знаю.
У поля связанные записи есть фильтр. Если его настроить (отображать без связанных записей), то в списке с выбором заказов пропадают заказы, у которых есть клиент, НО эти заказы скрываются отовсюду: список всех заказов - столбец клиент пуст; на странице заказа (с привязанным клиентом) клиентов 0. Либо это баг фильтра, либо это так должно быть и мне не подходит.
Было бы здорово и удобно, если бы поле связанные записи стало универсальным для отдельных сущностей: многие-ко-многим или один-ко-многим. Думаю в реализации это не сложно, а для нас в настройках поля появится один пункт.