Django1.7中文入门教程:[13]添加关联对象
1、我们已经在管理页面添加了Question。但是Question有很多选项。现在管理页面还不能显示选择控件。这里有两种方式可以解决这个问题。第一是注册Choice对象。
![Django1.7中文入门教程:[13]添加关联对象](https://exp-picture.cdn.bcebos.com/64a62a0f647814238cbdc68aaac2bbd6e1d0b258.jpg)
2、现在Django管理页面已经有一个"Choice"选项了。如图下:
![Django1.7中文入门教程:[13]添加关联对象](https://exp-picture.cdn.bcebos.com/cfa9ae04541bd10fcd22bd2eba0e1799e92aa758.jpg)
3、在这个表单中,“Question”字段是一个包括数据库里的所有question选择丸泸尺鸢框.Django知道,For髫潋啜缅eignKey在admin代表一个<select>选择框。绑定Choice对象到Question中。
![Django1.7中文入门教程:[13]添加关联对象](https://exp-picture.cdn.bcebos.com/6bbfdd14f1c595ee0bc5079327530688912c9a58.jpg)
4、上面的更改,Django认为是:Choice对象可以在Question管理页面被编辑。默认为3条选择记录。
![Django1.7中文入门教程:[13]添加关联对象](https://exp-picture.cdn.bcebos.com/dda98e4800fc77f7cc0aef94c8715fdb36209058.jpg)
5、代码生效后,运行后,就是上面图片上的样子,extra = 3 代表初始显莲镘拎扇示是3.还有一个小问题,就是要翻很多屏。能不能横向排列了?Django的强大,就是这么牛,你只要改一下ChoiceInline类的里面的问题。
![Django1.7中文入门教程:[13]添加关联对象](https://exp-picture.cdn.bcebos.com/ccc83ec5260f8835838ee96ace07880138708658.jpg)
6、使用admin.TabularInline代替admin.StackedInline),显示就完全改变了。
![Django1.7中文入门教程:[13]添加关联对象](https://exp-picture.cdn.bcebos.com/3bcdb808a50f94fc38882b7a4cf88a775dddfc58.jpg)