首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同样的形式,不同的变量。如何实现?

同样的形式,不同的变量。如何实现?
EN

Stack Overflow用户
提问于 2011-05-25 18:50:54
回答 1查看 331关注 0票数 0

我有一个表,其中一个字段是类别:体育、电影、图书等

我还有另一张表,上面有子类别,例如体育项目分为芭蕾舞、五子棋、高尔夫球等。

假设我有一个包含两个变量的列表:“运动”,“电影”

(这些变量来自一个文件。我正在上传文件,每次类别有多个子选项时,我都想显示类别中包含该选项的select。)

例如,用户插入了运动和电影。我想为列表中的每个字段显示一个选择选项。但子选项并不相同,这取决于所选的类别。

输出:

体育:

O Futebol

O芭蕾舞团

O高尔夫

电影:

O戏剧

O喜剧

forms.py

代码语言:javascript
复制
class OptionsForm(forms.Form):
def __init__(self, numb, *args, **kwargs):
    super(OptionsForm, self).__init__(*args, **kwargs)
    self.fields['num'] = forms.ChoiceField(widget=RadioSelect(), choices=
        numb, label="", required=True)

我正在传递一个带有所有子选项的元组:

代码语言:javascript
复制
numb = (('ballet', 'ballet'),
       ('futebol', 'futebol'),
       ('golf', 'golf'),  
       ('drama', 'drama'),
       ('comedy', 'comedy'))

但我不确定如何区分它们,也许对于表单集,这将如何工作,尽管

如有任何帮助或建议,将不胜感激!

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-26 16:30:28

实际上,这比我预想的要简单得多:)

我只需要传递一个元组字典:

代码语言:javascript
复制
dic = { 'Sport': [('ballet', 'ballet'), ('futebol', 'futebol'), ('golf'), ('golf')],
        'Movies': [('drama', 'drama'), ('comedy', 'comedy')] }

和更改表单:

代码语言:javascript
复制
class CategoriesForm(forms.Form):
    def __init__(self, numb, *args, **kwargs):
        super(CtaegoriesForm, self).__init__(*args, **kwargs)
        for p, i in numb.items():
            self.fields[p] = forms.ChoiceField(widget=RadioSelect(), choices=i,
                required=True)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6123278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档