在已经存在的ManyToMany中实施“通过”

问题描述

我正在处理这种复杂的情况,但我不确定如何进行。

上下文

我有这种情况:

x,y,z = vectorized_normed_right
p_i_right = [fu * (x / z) + cu,fv * (y / z ) + cv]

这种关系是传统的关系,生产中已经有数据。

问题

出现了新的限制,其中class Cat(models.Model): treats = models.ManyToManyFields(Treat) class Treat(models.Model): name = models.CharField() 模型必须移至新的数据库。 简而言之,这意味着我必须将对待与猫的约束与猫分开。

提案

有人告诉我,鉴于我的情况,我别无选择,只能实现一个自定义的中间模型以保留m2m,但也允许使用Treat。这个建议是这样的:

db_constraint=False

在我的本地堆栈中,运行迁移后,我发现自己无法访问数据。

class Cat(models.Model):
   treats = models.ManyToManyFields(Treat,through=CatTreat,related_name="cats")

class Treat(models.Model):
   name = models.CharField()

class CatTreat(models.Model):
   cat = models.ForeignKey(Cat)
   treat = models.ForeignKey(Treat,db_constraint=False)

我不确定新的直通访问是否配置正确,或者是否无意中删除了数据。感谢您提供任何见识。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)