【问题标题】:Using django autocomplete light with form tools preview使用带有表单工具预览的 django 自动完成灯
【发布时间】:2018-06-21 21:06:53
【问题描述】:

我尝试结合表单工具在管理面板之外使用 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 中应该使用这个。

屏幕上没有任何鞋子。有人可以帮忙吗?如果需要,我可以提供我的代码的其他部分。

【问题讨论】:

    标签: django django-forms


    【解决方案1】:
    class MessageForm(forms.Form):
        user = PersonForm()
    

    你不能像这样在另一个表单中实例化一个表单。

    相反,尝试为您的user 字段使用ModelChoiceField,并在此处设置小部件:

    class MessageForm(forms.Form):
        user = forms.ModelChoiceField(queryset=Person.objects.all(), widget=autocomplete.ModelSelect2(url='autocomplete-person'))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-15
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多