1

我刚刚开始 Django 开发,我正在尝试使用来自另一个模型的 DB 条目列的选项动态填充 ChoiceField() 类。

这是我目前处理情况的方式:

categories_as_choices = map(lambda x: x.mycolumnname, MyObjectCategory.objects.all())

我不确定这是否是最“pythonic”的方法(或 Django 等效方法)。有谁知道是否有“更好”的方法?

4

1 回答 1

3

Django 提供了一个专门为此设计的字段类:ModelChoiceField

您需要__unicode__像这样在类别模型上定义方法:

def __unicode__(self):
    return self.mycolumnname

然后以您可以简单地使用的形式

category = forms.ModelChoiceField(queryset=MyObjectCategory.objects.all())
于 2012-12-17T06:46:14.677 回答