在django管理界面中插入外键链接表

时间:2014-10-07 00:57:54

标签: python django django-models django-admin

我在django写了一个基本的练习应用程序,结果如下:

Routine         Exercise         Segment
=====           =====            =====
routine_name    exercise_name    routine_id (fk)
routine_id      exercise_id      exercise_id (fk)
                                 order
                                 duration

* (fk) = foreign key

在实践中,这看起来如下:

enter image description here

一个例程包含许多段,每个段包含一个练习,订单号(段中出现的例程 - 第一,第二,第三等),以及该段的持续时间。

我的问题是,有没有办法允许某人从"添加例程"添加新练习类型。查看?即,如果我正在制定一个新的例程,我不一定要退出并转到练习表视图以向列表添加新练习。谢谢!

1 个答案:

答案 0 :(得分:1)

诀窍是添加一个ModelAdmin for Exercise。

这样做的显而易见的结果是,您将获得一个“顶级”菜单选项来添加练习。但是,副作用是,无论你有一个带有外键的模型进行锻炼(比如在你的Segment内联中),你都会在Exercise外键选择器旁边得到一个绿色的“加号”。如果你单击该加号,你会得到一个弹出窗口,可以让你创建一个新的练习。如果您浏览顶级菜单但没有导航元素,弹出窗口将具有与“添加练习”页面相同的布局。

当您在新练习中点击“保存”时,您点击的外键将更新为指向新添加的练习实例。

相关问题