【发布时间】:2016-08-23 04:12:01
【问题描述】:
我已经创建了这个模型:
class TitleDescriptionLazyModel(models.Model):
class Meta:
abstract = True
title = models.CharField(max_length=255)
description = models.TextField(blank=True)
def __str__(self):
return self.title
class Jobsite(TitleDescriptionLazyModel):
pass
如文档 (views.py) 中所述,在此自动完成视图中使用哪个:
class JobsiteAutocomplete(LoginRequiredMixin, autocomplete.Select2QuerySetView):
def get_queryset(self):
if not self.request.user.is_authenticated():
return Jobsite.objects.none()
qs = Jobsite.objects.all()
if self.q:
qs = qs.filter(title__istartswith=self.q)
return qs
我的 urls.py 将标题字段设置为“create_field”:
urlpatterns = [
JobsiteAutocomplete.as_view(create_field='title'), name='jobsite_autocomplete'),
]
但是当我运行它时,我得到传递 get 请求的自动完成视图,直到我单击创建按钮,此时它发布 4 次,在我期望它创建 1 时在数据库中创建 4 个新项目:
> [22/Aug/2016 20:44:04] "GET /worklogs/jobsite-autocomplete/ HTTP/1.1" 200 356
[22/Aug/2016 20:44:10] "GET /worklogs/jobsite-autocomplete/?q=som HTTP/1.1" 200 252
[22/Aug/2016 20:44:11] "GET /worklogs/jobsite-autocomplete/?q=some HTTP/1.1" 200 254
[22/Aug/2016 20:44:12] "GET /worklogs/jobsite-autocomplete/?q=somewhere HTTP/1.1" 200 116
[22/Aug/2016 20:44:13] "POST /worklogs/jobsite-autocomplete/ HTTP/1.1" 200 31
[22/Aug/2016 20:44:13] "POST /worklogs/jobsite-autocomplete/ HTTP/1.1" 200 31
[22/Aug/2016 20:44:13] "POST /worklogs/jobsite-autocomplete/ HTTP/1.1" 200 31
[22/Aug/2016 20:44:13] "POST /worklogs/jobsite-autocomplete/ HTTP/1.1" 200 31
django = 1.9 蟒蛇= 3.4 django-autocomplete-light (3.1.8)
【问题讨论】:
标签: django python-3.x autocomplete django-autocomplete-light