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
このフィールドのデフォルトの空の選択は失われます。元に戻す方法を知っている人はいますか?前もって感謝します。