1、把外键写在字段多的表中,无法添加额外字段。(全自动)
class Books(models.Model):
title = models.CharField(max_length=32)
authors = models.ManyToManyField(to='Author')
2、(半自动): 无法使用add\set\remove\clear 其他操作不影响
以 book_id,author_id 两个字段关联book表和作者表,顺序不能错。外键在哪个表里,哪个字段就在前面。

3、(纯手动): 自己手动创建第三个表。(用的不多)
class Books2Author(models.Model):
book_id = models.ForeignKey(to='Books')
author_id = models.ForeignKey(to='Author')
desc = models.CharField(max_length=32)
'''因为外键字段不在书籍表和作者表里,就没法用orm正反向查询了。'''
浙公网安备 33010602011771号