Модель Django для таблицы с внешними ключами для нескольких таблиц в одном столбце - PullRequest
0 голосов
/ 12 октября 2019

Я унаследовал таблицу с данными, имеющими внешние ключи, для разных таблиц, имеющих общий столбец. Столбец 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, но я не уверен, как справиться с реализацией без изменения схем (либо путем создания отдельных таблиц соединения для разных типов местоположений, либо путем перемещения всех данных местоположения в одну таблицу, которая ссылается на себя для произвольной иерархии вложения).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...