虽然Django不完全支持将through
属性添加到M2M字段(为了添加一些额外字段),但可以迁移它。主要问题是Django will complain when any code tries to .add()
模型到相关集合,即使在链接模型的FK之外的through
模型中没有必需的字段。
所以,我想在through
模型中添加一个可以为空的字段,并使.add()
和remove
保持原样(并且隐含地使用None
作为可空的字段值)。在元中添加auto_created=True
几乎可以正常工作,但它会破坏其他事物的迁移。有没有办法让它在覆盖many2many描述符之外工作(虽然许多第三方Django包使用它,但它并没有完全包含在公共API中)?