问问题
1146 次
3 回答
1
像这样的东西应该可以工作(给定 m2m 在 中指定Tool
):
# 1st app
from secondapp.models import Tool
class Task(models.Model):
tools = models.ManyToManyField(Tool, through=Tool.tasks.through)
# 2nd app
class Tool(models.Model):
tasks = models.ManyToManyField("firstapp.Task")
于 2012-11-20T13:56:22.780 回答
0
Tools
您可以尝试在和之间创建一个Tasks
充当中介的虚拟模型,这是 Django 通常提供的,用于存储有关特定关系的额外信息。您将through=
在创建此ManyToMany
关系时使用关键字来利用它。
您可以在此处找到详细信息。
我实际上并没有在管理页面上查看它,但我想一旦你在管理页面上注册模型,因为该模型与每个和都有ForeignKey
关系,你应该能够在两者上编辑关系假人模型的侧面。Tools
Tasks
不过,我不一定会推荐这个,除非你能够访问双方的关系是非常必要的。
于 2012-11-20T15:49:34.540 回答
0
我不会through
为了让管理员看起来不错而使用或使您的模型复杂化。您也可以尝试创建一个 admin inline。使用内联,您可以在管理应用程序中向任何模型的屏幕添加小节。文档中有一些很好的例子。
于 2012-11-20T15:53:50.427 回答