我正在尝试使用jQueryUI为自动完成搜索创建queryset。我写了一个基于函数的视图,在我看来,它应该可以工作,但它并没有像它应该的那样工作。当我键入有效单词时,它会将我重定向到应该显示搜索结果的位置,但在那里我得到了错误
AttributeError: 'Branches' object has no attribute 'FIELD'
这是我的榜样
class Branches(models.Model):
ifsc = models.CharField(primary_key=True, max_length=11)
bank = models.ForeignKey(Banks, models.DO_NOTHING, blank=True, null=True)
branch = models.CharField(max_length=250, blank=True, null=True)
address = models.CharField(max_length=250, blank=True, null=True)
city = models.CharField(max_length=50, blank=True, null=True)
district = models.CharField(max_length=50, blank=True, null=True)
state = models.CharField(max_length=26, blank=True, null=True)
我的观点
def search_ifsc(request):
if request.is_ajax():
q = request.GET.get('q', '').capitalize()
search_qs = Branches.objects.filter(ifsc__startswith=q)
results = []
print(q)
for r in search_qs:
results.append(r.FIELD)
data = json.dumps(results)
else:
data = 'fail'
mimetype = 'application/json'
return HttpResponse(data, mimetype)
url.py
path('ajax/search/' , views.search_ifsc, name='search_view')
模板
<div class="position-absolute top-50 start-50 translate-middle">
<nav class="navbar navbar-light bg-light">
<div class="container-fluid" class="ui-widget">
<form id="search" method="POST" action="http://127.0.0.1:8000/ajax/search/">
<!-- {% csrf_token %} -->
<input type="text" class="form-control" id="q" name="q">
<button type="submit" class="btn btn-default btn-submit">Submit</button>
</form>
</div>
</nav>
</div>
<script type='text/javascript'>
$(document).ready(function(){
$("#q").autocomplete({
source: "http://127.0.0.1:8000/ajax/search/",
minLength: 2,
open: function(){
setTimeout(function () {
$('.ui-autocomplete').css('z-index', 99);
}, 0);
}
});
});
我在键入并按enter键时出现此错误
Internal Server Error: /ajax/search/
Traceback (most recent call last):
File "C:\Users\JAY SARDAR\projects\Django+Angular\Fyle-assignment\Backend\restapi\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\JAY SARDAR\projects\Django+Angular\Fyle-assignment\Backend\restapi\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\JAY SARDAR\projects\Django+Angular\Fyle-assignment\Backend\restapi\rest_api\api\views.py", line 50, in search_ifsc
results.append(r.FIELD)
AttributeError: 'Branches' object has no attribute 'FIELD'
作为一个初学者,我尝试了很多教程来让视图工作,但这还不够。是什么导致了这个错误?注意我的管理员,其他页面工作正常
相关问题 更多 >
编程相关推荐