Соотнести одну таблицу с двумя таблицами в 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?

Вернуться на верх