Я пытаюсь применить ограничение между двумя внешними ключами в таблице соединений, и я не знаю, могу ли я сделать это с помощью базы данных, или я должен сделать это через мое приложение или мой ORM.
Вот мои таблицы:
Dataset
Tag
- Dataset: FK
- name: string (eg: "park", "church", etc)
Place
- Dataset: FK
- latitude
- longitude
PlaceTag (my join table)
- Tag: FK
- Place: FK
- note: string (eg: "this place is my favorite park")
Я хочу применить ограничение, что каждый PlaceTag имеет тег и место, которые принадлежат одному и тому же набору данных.Должен ли я сделать это с помощью базы данных или моего приложения?Или я должен реструктурировать свои модели, чтобы легче было применить это ограничение?
FWIW, это проект с открытым исходным кодом, и мой PR для создания этих таблиц здесь: https://github.com/mapseed/api/pull/161/files Проектиспользует Django, если это поможет.