1

我在 Django 中有一个如下所示的模型:

class Project(models.Model):
    name = models.CharField(max_length=140)
    parent = models.ForeignKey('self', blank=True, null=True)

目标是为此模型制作一个表单,其中包含用于parent表示项目层次结构的字段的选择小部件。我尝试通过对查询集进行排序并在每个选项的标签前添加缩进来重新定义该字段的选项对。(project.id, project.name)但是当我为表格制作一个配对列表时

class ProjectForm(ModelForm):
    def __init__(self, *args, **kwargs):
        super(ProjectForm, self).__init__(*args, **kwargs)
        ordered = []
        // ... making ordered list ...
        self.fields['parent'].choices = ordered

该字段的默认空选项会丢失。有谁知道如何找回它?提前致谢。

4

1 回答 1

2

__init__中,添加:

self.fields['parent'].choices = ordered
self.fields['parent'].choices.append('', u'None)
于 2012-09-17T13:03:51.780 回答