django admin manytomany手动指定关系映射报错

zhzhuo 2018-03-09 10:05:47
admin后台报错
(admin.E013) The value of 'fields' cannot include the ManyToManyField 'drugIndication', because that field manually specifies a relationship model.

多对多关系定义为:
class drugInfo(models.Model):
drugIndication = models.ManyToManyField('indicationCategory',through='drugIndication', blank=True)

关系类定义:
class drugIndication(models.Model):
id = models.UUIDField('关联id', primary_key=True, default=uuid.uuid1, editable=False)
drugInfoId = models.ForeignKey(drugInfo,on_delete=models.CASCADE,blank=True,null=True)
indicationCategoryId = models.ForeignKey(indicationCategory,on_delete=models.CASCADE,blank=True,null=True)


大神们,帮忙看看啥问题
...全文
421 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhzhuo 2018-03-09
  • 打赏
  • 举报
回复
引用 1 楼 xpresslink 的回复:
一眼就看出来不对了 两个Model的关系,只能必须在其中一个上定义,不能对着都定义. 你要到底是需要 drugInfo 到 drugIndication 的多对多关系 还是需要 drugIndication 到 drugInfo的 多对一关系?
indicationCategory 这个model没贴出来 从网上找到: 当您使用ManyToManyField的through参数指定中介模型时,admin将不会默认显示窗口小部件
混沌鳄鱼 2018-03-09
  • 打赏
  • 举报
回复
一眼就看出来不对了 两个Model的关系,只能必须在其中一个上定义,不能对着都定义. 你要到底是需要 drugInfo 到 drugIndication 的多对多关系 还是需要 drugIndication 到 drugInfo的 多对一关系?

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧