Соотнести одну таблицу с двумя таблицами в Django
У меня есть 'Table1' и `Table2'. Обе они должны иметь отношения один-ко-многим к 'Table3' ('Table1'/'Table2' один-ко-многим 'Table3'). Каждая строка в 'Table3' должна иметь только одно поле отношения, которое может указывать на 'Table1' или 'Table2' (будет определено при создании каждой строки).
Я думал реализовать это с помощью сквозной таблицы, которая будет иметь 3 колонки отношений для 'Table1', 'Table2', 'Table3'.
Table1:
* table1_id
Table2:
* table2_id
Table3:
* table3_id
ThrougTable:
* col1 = ForeignKey(table1_id, null=True)
* col2 = ForeignKey(table2_id, null=True)
* col3 = OneToOneField(table3_id)
Какой лучший способ сделать это в Django?