Я пытаюсь использовать встроенную в TreeBeard форму с формами django (не с правами администратора). Я специально хотел заменить рендеринг поля Select ForeignKey форматом TreeBeard. Я думал, что смогу сделать это, объявив поле в моей ModelForm, но я не добился успеха. Я новичок в Django, поэтому мое понимание ограничено.
Это мои начальные классы в моем forms.py
MyCategories = movenodeform_factory(Category)
class CreatePost(ModelForm):
class Meta:
model = Post
fields = ['title', 'category', 'region', 'content', ]
Я попытался реализовать это, объявив поле категории в начале, но это явно не тот способ, которым можно это сделать. Объявление возвращает список категорий в формате html, но я не могу заменить им категорию Post (которая является ForeignKey).
class CreatePost(ModelForm):
category = movenodeform_factory(Category)
class Meta:
model = Post
fields = ['title', 'category', 'region', 'content', ]
Причина, по которой я хочу использовать формы TreeBeard, заключается в том, как они вкладывают поля в соответствии с иерархией категорий.
РЕШИТЬ:
Это оказалось намного проще, чем я думал.
class CreatePost(ModelForm):
CHOICES = MoveNodeForm.mk_dropdown_tree(Category)
category = ChoiceField(choices=CHOICES)
class Meta:
model = Post
fields = ['title', 'category', 'region', 'content', ]