如何以编程方式设置django选项字段?

时间:2011-02-01 17:58:37

标签: django django-models

我有一个带有选择字段的模型,我想在django中保存表单时设置它。

我希望用户选择生成其他模型更新 - 我想要更新的一个模型有一个选择字段。我知道我想要那个选择字段的值,但是当我创建一个新的模型对象时,如何在代码中设置选择字段?

例如 -

假设我想创建一个新的Auto对象,我推断该auto是否可以选择Luxury,Economy或Standard。

我想在保存模型对象之前在代码中设置该选择字段的值...

任何提示?

提前致谢。

1 个答案:

答案 0 :(得分:3)

看看这里:http://docs.djangoproject.com/en/dev/ref/models/fields/#choices

您需要在字段上设置choices属性。当您的表单实例化时,您也可以动态生成这些选择:

class MyForm(ModelForm):
  def __init__(self, *args, **kwargs):
    super(MyForm, self).__init__(*args, **kwargs)
    self.fields['field_name_in_question'].choices = generate_choices_as_tuple()

generate_choices_as_tuple()将是一个函数,它将以文档中列出的格式返回元组。