在Django中使用选项和用户输入

时间:2016-03-01 07:05:18

标签: django django-models django-forms

我正在创建一个包含字段的模型,这些字段将为用户提供选择,因此我使用关键字choices,如下所示:

ACQUIRED_FROM=(
    ('dealer', 'Dealer'),
    ('private', 'Private'),
    ('show', 'Show'),
    ('family member', 'Family Member'),
    ('other', 'Other'),),

并指定如下字段:

acquired_from = models.CharField(max_length=100, choices=ACQUIRED_FROM)

在家庭成员下,我需要用户输入特定的人(例如父亲,叔叔,e.t.c)。

我认为它也适用于货币字段,使用户可以选择输入是美元还是欧元,然后指定金额。

问题是如何定义启用用户输入的选项?

这是一个更简单的方式来问上面的同一个问题:

LENGTH=(
    ('CENTIMETERS', 'cm'),
    ('INCHES', 'in'),),

有了这个,我希望用户选择英寸或厘米,然后输入实际值。我应该如何修改它?

1 个答案:

答案 0 :(得分:0)

Django choices不适用于动态内容 如果您打算构建nested choices(又名group choices),则可以预先定义family member的选项列表,与您为acquired_from定义的选项列表相同。

ACQUIRED_FROM = (
    ('dealer', 'Dealer'),
    ('private', 'Private'),
    ('show', 'Show'),
    ('Family Member', (
            ('father', 'Father'),
            ('uncle', 'Uncle'),
         )
    ),
    ('other', 'Other'),
)