python-3.x 使用jquery在django中自动完成:在表单建议中显示两个域

nc1teljy  于 2023-01-18  发布在  Python
关注(0)|答案(1)|浏览(89)

我在Django中有一个自动完成搜索的视图。在脚本的逻辑中,我搜索城市名称或者我搜索邮政编码。在选择表单中它工作。有可能同时显示两者吗?
下面是我的jquery表单:

<form  method="GET" action="{% url 'ville_select' name='name' %}" > 
         {% csrf_token %}
               <label for="villeselect">Ville</label>
        <input type="text"  name="name"  id="villeselect" >
        <button type="submit">Go</button>
    </form>  
$(function () {
            $("#villeselect").autocomplete({
                source: "{% url 'recherche' %}",
                minLength: 3
            });
        });
    </script>

www.example.com中的类views.py

class VilleSelect(ListView):
    model = VilleCountry    
    template_name = 'ville/ville_select.html'    
        
    def get_context_data(self,*arg,**kwargs):
        
        context = super(VilleSelect,self).get_context_data(*arg,**kwargs)
        query = self.request.GET.get('name')
        context['posts'] = VilleCountry.objects.filter(Q(name__startswith=query) | Q(zip_code__startswith=query) )   
               
        return context

目前我有这个

我想要的

这是可能的。
感谢

46scxncf

46scxncf1#

看看这是否有效,尝试在您的VilleCountry模型中添加__str__()函数

Class VilleCountry(models.Model):
    name = models.CharField(max_length=1000)
    zip_coide = models.CharField(max_length=1000)

    class Meta:
        db_table = "ville_country"

    def __str__(self):
        return f"{self.name} - {self.zip_code}"

这将确保此模型始终返回name和zipcode

相关问题