Django:通过具有(仅)复合键的表的多对多

时间:2010-06-22 09:01:44

标签: django django-models many-to-many

我有一个遗留数据库,其中一个表存储多对多关系,但没有一个主键列。有没有办法说服Django使用它呢?

示意性地:

Product 1<---->* Labeling *<---->1 Label

Labeling表使用(product_id,label_id)作为复合主键,我没有看到任何通知Django的方法。 (只需使用through即可获得Unknown column 'labeling.id' in 'field list'。)

我是否需要回退到自定义SQL?或者我错过了什么?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

如果为模型中的多对多表添加unique_together,Django将使用这些列而不是期望名为id的主键。