Django:ModelMultipleChoiceField获取表单中的Bound字段值显示名称

时间:2013-02-24 22:46:21

标签: django

是否可以在它的干净方法中获取ModelMultipleChoiceField中每个选项的显示值?

给出以下clean字段tagsUser:

def clean_tagsUser(self):
    tu = self.cleaned_data['tagsUser']
    data = self['tagsUser']
    print 'data:', data
    return tu

我得到以下输出:

data: <select multiple="multiple" name="tagsUser">
<option value="9" selected="selected">test 1</option>
<option value="20">test 2</option>
<option value="105">test 3</option>
<option value="373" selected="selected">test 4</option>

修改data = self ['tagsUser']。values()返回每个所选选项的所有值:

data: [u'9', u'373']

我需要获取每个选项的显示值,以便数据的输出为:

data: [u'test 1', u'test 2', u'test 3', u'test 4']

我发现这个https://code.djangoproject.com/ticket/10427似乎表明data = self ['tagsUser']。display_value会做我想要的。但是,display_value似乎尚未实现。

临时解决方案:

data = self['tagsUser']
data_list = re.findall(r'<.*?>(.+?)<.*?>', str(data))

0 个答案:

没有答案