[已解决]属性relation,column1,column2
-
many2many 关系是通过中间表关联的,
中间表只有两列,分别是A表的id 和 B表的id,
relation 对应了中间表的表名,
如果你不赋值,默认是将两列列名拼起来加上rel后缀,
但在列名过长的情况下可能会触发postgres 表名过长的问题,
导致中间表不能生成,
(postgres 表名不能超过64),
column1,column2, 你不赋值,默认模型名_id,
many2many 中间表不存在第三列,
中间表是个两张表的互相映射关系。
除非你有业务需求需要往many2many中间表增加第三列,
那你可以去改框架,
给中间表增加第三列对应的业务逻辑
-
@digitalsatori
1、store=False,不生成中间表的话,那我这里写了一个中间表没问题吗?
2、如果不生成中间表,那他们的对应关系是怎么存储的? -
这个字段的值,是你定义的函数
_get_old_part_list
算出来的啊 -
@digitalsatori
我知道那个字段的值是我算出来的。
但是如果没有这个中间表,我还是写了relation
是不是错的了啊? -
想想看,即使有这个中间表,你都根本没有用到,有意义吗?
-
@digitalsatori
没意义。这个中间表不存在的,那
relation
引用一个没有的,column1,column2
的值也是没有的,这个也不报错的啊?