Я унаследовал таблицу с данными, имеющими внешние ключи, для разных таблиц, имеющих общий столбец. Столбец dedupe_sig - это виртуальный столбец с ограничением уникальности, в котором сортируются названия мест. Он используется для гарантии того, что вы не пытаетесь сохранить оба значения Toledo S Ann Arbor
и Ann Arbor N Toledo
: в таблице с указаниями указано, что S и N противоположны.
location_type place1 relation place2 dedupe_sig
--------------- ------------- ---------- -------------- ----------------------------------
city Youngstown SE Cleveland city Cleveland Youngstown
neighborhood Campus S Clintonville neighborhood Campus Clintonville
region Midwest NW The South region Midwest The South
city Cincinnatti NE Lexington city Cincinnatti Lexington
state Ohio E Indiana state Indiana Ohio
state Illinois S Wisconsin state Illinois Wisconsin
Что я хотел бы знатьесли есть здравый способ для меня добавить эту таблицу в мои модели Django?
Вроде бы это должно быть ManyToManyField
, но я не уверен, как справиться с реализацией без изменения схем (либо путем создания отдельных таблиц соединения для разных типов местоположений, либо путем перемещения всех данных местоположения в одну таблицу, которая ссылается на себя для произвольной иерархии вложения).