0

我创建这个模型中创建新的选择时:Django的自动填充灯柱4次在自动完成形式

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次在数据库中创建4个新项目时,我希望它来创建1:

> [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 

it creates 4 every time... why?

的django = 1.9 蟒= 3.4 Django的自动填充光(3.1.8)

回答

0

我使用jQuery v1.11.3

我升级到jQuery的2.2.4和它按预期工作。