jquery: 在 django admin 中动态地向 charfield 添加选项

jquery: add choices to charfield dynamically in django admin

我在我的模型中声明了一个字符字段,只有一个选择 'choices',在管理页面中,我通过 jquery 添加了其他选择。现在,当用户选择通过 jquery 添加的选项之一时,django admin 会抛出错误

Select a valid choice. is not one of the available choices.

我理解这是因为这些选择还没有保存在数据库中。添加的选项取决于用户对文本框的输入。在将它保存到数据库之前,有什么方法可以动态地向 charfield 添加选择。

首先,没有必要'save choices in database',您可以定义一个列表(没有保存在数据库中的项目)并将其用作列表:

choices_list = [(1, 'one'), (2, 'two')]
...
field = models.CharField(choices=choices_list)

因此,由于没有必要将项目保存在数据库中以将它们用作选项,而且我认为您真的不需要选项列表,您可以使用带有初始选项的列表并将其显示在模板中,然后添加或删除项目并将它们保存在数据库中,但不使用 CharField:

中的 choices 选项
field = models.CharField()