【问题标题】:How to get the value of a dropdown menu in the admin interface?如何在管理界面中获取下拉菜单的值?
【发布时间】:2009-07-30 12:35:33
【问题描述】:

在保存对象之前,有人知道如何从模型表单对象的干净方法中获取下拉菜单的选定项吗?我尝试了以下方法:

def clean_something(self):
   dropdown = self.cleaned_data.get('dropdown')

其中 'dropdown' 是代表下拉菜单的字段,但这似乎不起作用。

有什么想法吗?

干杯, 查尔斯

【问题讨论】:

  • self.cleaned_data['dropdown'] 给你什么?选择的索引?
  • 谢谢 Dominic,我想我在这里忽略了一个小细节...clean_data 似乎工作正常,我只是忘记将其转换为 unicode!

标签: django django-admin django-forms


【解决方案1】:

你会在 self.data 中找到它

def clean_something(self):
   dropdown = self.data.get('dropdown')

【讨论】:

  • 谢谢你,但 self.data.get 给了我主键,而不是下拉菜单中显示的值。我当然可以进行查找,但我想知道是否有更简单的方法可以直接从表单中获取值。
【解决方案2】:

对不起,伙计们,我应该对此进行更彻底的测试...以下为我提供了我正在寻找的价值!

def clean_something(self):
   dropdown = u'%s' % self.cleaned_data.get('dropdown')

【讨论】: