Я закончил с использованием представления в моей базе данных, то есть мне не нужно было добавлять таблицу. В Django я создал модель для обработки представления:
class Item(models.Model):
collection = models.ForeignKey(
'Collection', models.CASCADE, db_column='Collection_id')
...
class Meta:
managed = False
db_table = 'Item' # This is not a table, but a view
Я определил представление, используя несколько операторов SELECT
и UNION
:
CREATE OR REPLACE VIEW `Item` AS
SELECT CONCAT('itemA_',id) as id, name, ... FROM ItemA
UNION
SELECT CONCAT('itemB_',id) as id, name, ... FROM ItemB
...