问题描述
我在自定义模型上添加自动完成光选择2时遇到问题。我安装了带有pip的软件包,并将其添加到settings.py:
INSTALLED_APPS = [
'dal','dal_select2','dal_legacy_static','django.contrib.admin','django.contrib.auth',
....
url(r'^property-autocomplete/$',PropertyAutocomplete.as_view(),name='property-autocomplete'),
我对其进行了测试,并正确获得了结果。
class PropertyAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
qs = Property.objects.all()
if self.q:
qs = qs.filter(p_address_street=self.q)
return qs
在表单上,我添加了:
class ReserveForm(BSModalModelForm):
re_renter = forms.ModelChoiceField(queryset=User.objects.filter(u_user_type=0).order_by('-pk'))
re_inquilinos = forms.ModelMultipleChoiceField(queryset=User.objects.filter(u_user_type=0).order_by('-pk'),required=False)
re_enter_date = forms.DateField(required=True,widget=forms.TextInput(attrs={'type':'date'}))
re_exit_date = forms.DateField(required=True,widget=forms.TextInput(attrs={'type':'date'}))
re_property = forms.ModelChoiceField(queryset=Property.objects.all(),widget=autocomplete.ModelSelect2(url='property-autocomplete'))
re_property是我想选择的字段,是外键值。 在我的HTML表单中,我得到了:
{% load crispy_forms_tags %}
{% load static %}
<form method="POST" action="">
{% csrf_token %}
<div class="modal-header">
<h5 class="modal-title">Modificar/Crear Reserva</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col-md-12 mb-0">
{{ form.re_property|as_crispy_field }}
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="submit-btn btn btn-primary">Create</button>
</div>
</form>
{{form.media}}
我尝试导入select2.js,jquery等,但是没有任何效果。实际结果就像正常选择一样:
我只有该寄存器可供选择。我不知道我是否需要导入某物,或者我是否缺少某物,如果有人知道为什么。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)