允许Django-admin用户将<option>添加到<select>下拉列表

时间:2016-05-22 01:35:58

标签: python django django-forms django-admin

我有一个联系表单,将值发布到名为Inquiry的模型。查询模型有一个名为enquiry_type的属性,它是表单上的下拉选择框。目前的选择是一般查询&#39; &安培; &#39;请求回电&#39;。 我的问题是允许管理员添加到此下拉列表的最佳做法是什么?我正在考虑使用属性.text,&amp;创建另一个名为EnquiryType的模型。在表单中迭代这个?这将允许管理员创建具有其选择的.text值的新对象。例如,他们可以添加“请求电子邮件报价”和“#39;到下拉列表。 这是正确的想法还是有更简单/更容易接受的协议?对不起我还是Django的新手!

1 个答案:

答案 0 :(得分:0)

只有一个要求 - 选择字段必须获取值列表或元组列表(值,描述),当然保存那些选项是第二件事

你将如何做到这一点取决于你 - 你需要找到一个适合你的需求和技能的解决方案

最简单的是将辅助表从主表引用为外键 - 您可以为此模型创建非常快速的管理员,它将直接工作(当您获得大量选择时问题将开始......)

其他选项选项是使用任何django模块,它提供&#34;动态设置&#34; - 其中一些有存储列表的选项,其中一些只提供简单的对象,但即便如此,你也可以在文本字段中存储以逗号分隔的列表

另一种选择是将数据存储在文件中(甚至可以导入的.py文件)

每个选项都没问题,你现在有了工具 - 明智地选择!