【问题标题】:jquery: add choices to charfield dynamically in django adminjquery:在 django admin 中动态添加选项到 charfield
【发布时间】:2016-01-28 20:19:34
【问题描述】:
我已经在我的模型中声明了一个字符域,只有一个选择作为“选择”,在管理页面中,我正在通过 jquery 添加其他选择。现在,当用户选择通过 jquery 添加的选项之一时,django admin 会抛出错误
选择一个有效的选项。不是可用的选择之一。
我了解这是因为这些选择尚未保存在数据库中。添加的选项取决于用户对文本框的输入。有什么方法可以在将字符字段保存到数据库之前动态添加选项。
【问题讨论】:
标签:
jquery
django
django-models
django-admin
【解决方案1】:
首先,不需要“将选择保存在数据库中”,您可以定义一个列表(没有保存在数据库中的项目)并将其用作列表:
choices_list = [(1, 'one'), (2, 'two')]
...
field = models.CharField(choices=choices_list)
因此,由于不必将项目保存在数据库中以将它们用作选择,而且我认为您并不真的需要选择列表,您可以使用带有初始选择的列表并将其显示在您的模板中,然后添加或删除项目并将它们保存在数据库中,但不使用 CharField 中的 choices 选项:
field = models.CharField()