【发布时间】:2012-09-09 15:48:15
【问题描述】:
我在 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
此字段的默认空选项会丢失。有谁知道如何找回它? 提前致谢。
【问题讨论】:
标签: django django-models django-forms