我尝试在管理面板外部使用django自动完成灯和表单工具。我完成了在管理面板中使用自动完成功能,并在django表单工具中使用常规表单。但最后一步,在管理面板外部使用自动完成功能将无效。
这是来自我的forms.py:
class PersonForm(forms.ModelForm):
class Meta:
model = Person
fields = ('user',)
widgets = {
'user': autocomplete.ModelSelect2(url='autocomplete-person')
}
[...]
class MessageForm(forms.Form):
user = PersonForm()
我猜错误必须在这里,但我不确定。我认为,这应该做什么: *继承自ModelForm *将小部件更改为适合的完整小部件 *使用正确的模型和字段 *在MessageForm中应该使用它。
相反,屏幕上没有任何鞋子。有人可以帮忙吗?如有必要,我可以提供代码的其他部分。
答案 0 :(得分:1)
ModelChoiceField
你不能像这样在另一个表单中实例化一个表单。
相反,请尝试在user
字段中使用class MessageForm(forms.Form):
user = forms.ModelChoiceField(queryset=Person.objects.all(), widget=autocomplete.ModelSelect2(url='autocomplete-person'))
,并在其中设置小部件:
{{1}}