我已在模型中声明了一个字段,只有一个选项作为“选择”,在管理页面中,我通过jquery添加其他选项。现在,当用户选择通过jquery添加的选项之一时,django admin会抛出错误
选择有效的选择。不是可用的选择之一。
我理解这是因为这些选择还没有保存在数据库中。添加的选项取决于用户对文本框的输入。有没有什么方法可以在将charfield保存到数据库之前动态地向charfield添加选项。
答案 0 :(得分:0)
首先,没有必要'保存数据库中的选项',您可以定义一个列表(项目没有保存在数据库中)并将其用作列表:
choices_list = [(1, 'one'), (2, 'two')]
...
field = models.CharField(choices=choices_list)
所以,因为没有必要保存数据库中的项目以将它们用作选项而且我认为你真的不需要选择列表,你可以使用带有初始选择的列表并在模板中显示它,然后添加或删除项目并将其保存在数据库中,但不使用choices
中的CharField
选项:
field = models.CharField()