【发布时间】:2019-07-22 11:43:09
【问题描述】:
我正在尝试为我的项目添加自动完成灯光,但我无法做到。如果我想在表格中找到任何内容:无法加载结果,TypeError: 'bool' object is not callable。我正在使用 Python 3.7 版和 django-autocomplete-light 3.3.5 版
该项目是用于跟踪分配给用户的订单的网络应用程序。
到我添加的 mysite/settings.py:
INSTALLED_APPS = [
'dal',
'dal_select2',
'crispy_forms',
'myapp',
到我添加的 mysite/myapp/urls.py:
path('autocomplete/', login_required(views.OrderAutocomplete.as_view()), name="autocomplete"),
到base.html:
<head>
{% load staticfiles %}
...
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
到new_order.HTML:
<form method="POST">
{% csrf_token %}
{{ form|crispy }}
{{ form.media }}
<input type="submit">
</form>
在我添加的 mysite/myapp/views.py 中:
class ObjednavkaAutocomplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
# Don't forget to filter out results depending on the visitor !
if not self.request.user.is_authenticated():
return Objednavka.objects.none()
qs = Order.objects.all()
if self.q:
qs = qs.filter(name__istartswith=self.q)
return qs
在我添加的 mysite/myapp/forms.py 中:
class OrderForm(forms.ModelForm):
user_auto = forms.ModelChoiceField(queryset=Order.objects.all(), widget = autocomplete.ModelSelect2(url='autocomplete'))
class Meta:
model = Order
fields = ["user_auto"]
mysite/myapp/models.py:
from dal import autocomplete
class Order(models.Model):
...
user = models.ForeignKey(MyUser, on_delete=models.CASCADE)
class MyUser(models.Model):
eid = models.CharField(max_length=7)
很抱歉发布了这么多代码。
【问题讨论】:
-
您可以在您的问题中添加带有
DEBUG = True的日志吗?
标签: django python-3.x