我有一个遗留数据库,其中一个表存储多对多关系,但没有一个主键列。有没有办法说服Django使用它呢?
示意性地:
Product 1<---->* Labeling *<---->1 Label
Labeling
表使用(product_id,label_id)
作为复合主键,我没有看到任何通知Django的方法。 (只需使用through
即可获得Unknown column 'labeling.id' in 'field list'
。)
我是否需要回退到自定义SQL?或者我错过了什么?
答案 0 :(得分:1)
希望这会对你有所帮助,
http://docs.djangoproject.com/en/dev/ref/models/options/#unique-together
http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.Field.db_index
答案 1 :(得分:1)
如果为模型中的多对多表添加unique_together
,Django将使用这些列而不是期望名为id
的主键。