Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将Django模型列的值映射到列表?_Python_Django_Models - Fatal编程技术网

Python 如何将Django模型列的值映射到列表?

Python 如何将Django模型列的值映射到列表?,python,django,models,Python,Django,Models,我刚刚开始Django开发,我正在尝试使用另一个模型的DB条目列中的选项动态填充ChoiceField()类 这就是我目前处理这种情况的方式: categories_as_choices = map(lambda x: x.mycolumnname, MyObjectCategory.objects.all()) 我不确定这是否是最“pythonic”的方法(或者Django的等效方法)。有人知道有没有更好的方法吗 Django提供了一个专门为此设计的字段类: 您需要在您的类别模型上定义\uu

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

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

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

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

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

您需要在您的类别模型上定义
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
方法,如下所示:

def __unicode__(self):
    return self.mycolumnname
然后以你可以简单使用的形式

category = forms.ModelChoiceField(queryset=MyObjectCategory.objects.all())