Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据自动完成(Dango)中键入的任何字母进行筛选_Python_Django_Search_Filter_Autocomplete - Fatal编程技术网

Python 如何根据自动完成(Dango)中键入的任何字母进行筛选

Python 如何根据自动完成(Dango)中键入的任何字母进行筛选,python,django,search,filter,autocomplete,Python,Django,Search,Filter,Autocomplete,Django中的自动完成过程运行良好 我的问题是,我不仅要根据模型字段first\u name中的第一个字母进行过滤,还要根据first\u name可能包含的任何字母进行过滤 例如,假设我在表概要文件的first\u name列中存储了以下值: Louna 萝拉 琳达 翻车鱼 鲁纳 通过键入L,搜索返回Louna、Lola、Linda 我想通过键入na搜索返回Louna和Rouna 有什么想法吗 我的班级: class ProfileAutocomplete(autocomplete.Sele

Django中的自动完成过程运行良好

我的问题是,我不仅要根据模型字段
first\u name
中的第一个字母进行过滤,还要根据first\u name可能包含的任何字母进行过滤

例如,假设我在表概要文件的
first\u name
列中存储了以下值:

Louna 萝拉 琳达 翻车鱼 鲁纳

通过键入L,搜索返回Louna、Lola、Linda

我想通过键入na搜索返回Louna和Rouna

有什么想法吗

我的班级:

class ProfileAutocomplete(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 Profile.objects.none()
            qs = Profile.objects.all()
            if self.q:
                qs = qs.filter(first_name__istartswith=self.q)

            return qs
我的模型:

class Profile(models.Model):
        first_name = models.CharField(max_length=100)
        last_name = models.CharField(max_length=100)
        created_date = models.DateTimeField(default=datetime.datetime.now)

        def __str__(self):
            return self.first_name+ " " +self.last_name
我的表格:

from django import forms

    from .models import Profile
    from dal import autocomplete
    from django.forms import ModelChoiceField



    class ProfileForm(forms.ModelForm):
        first_name = forms.ModelChoiceField(queryset=Profile.objects.all(),widget=autocomplete.ModelSelect2(url='profile-autocomplete'))


        class Meta:
                model = Profile
                fields = ('__all__')
我的模板:

{% load static %}

{% block content %}
<div>
    <form action="" method="post">
        {% csrf_token %}
        {{ form.as_p }}
        <input type="submit" />
    </form>
</div>
{% endblock %}

{% block footer %}
<script type="text/javascript" src="{% static 'admin/js/vendor/jquery/jquery.js' %}"></script>

{{ form.media }}
{% endblock %}
{%load static%}
{%block content%}
{%csrf_令牌%}
{{form.as_p}}
{%endblock%}
{%block footer%}
{{form.media}
{%endblock%}

您似乎正在寻找或可能正在寻找。这些是区分大小写和不区分大小写的安全壳测试

生成的代码如下所示:

qs = qs.filter(first_name__contains=self.q)

不客气。请别忘了在答案上加上“已接受”的标记,这对解决问题最有帮助。看到了吗?