创建多对多
可以在后边添加命令修改名字 也可以不用指定,系统可以自动生成表名
当我们开发的过程中原先多对多关系不需要在Models建第三张表,Django会自动创建表,如果业务发展,需要在多对多的关系中添加属性,那就需要手动添加第三张表,并添加字段。
如果直接修改并执行的话那就会出现下面的错误:
they are not compatible types (you cannot alter to or from M2M fields, or add or remove through= on
解决方法
如果不考虑数据,删除数据库,删除所有migrations文件,重新建库,重新执行makemigrations migrate就可以解决了。
创完表结构如下图
当我们使用多对多的中间模型之后,add(),remove(),create()这些方法都会被禁用,所以在创建这种类型的关系的时候唯一的方法就是通过创建中间模型的实例