python项目篇-stark之查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27695659/article/details/87932798

1、首先在项目文件夹中stark.py中:

class BookConfig(ModelStark):
    list_display = ["title","price",]
    list_display_links = ["title"]
    search_fields = ["title", "price"]
    modelform_class = BookModelForm
starkSite.register(Book, BookConfig)

2、在stark组件下service包中的stark.py的ModelStark类添加

search_fields = []
def get_serach_conditon(self, request):
        key_word = request.GET.get("q", "")
        self.key_word = key_word
        from django.db.models import Q
        search_connection = Q()
        if key_word:
            # self.search_fields # ["title","price"]
            search_connection.connector = "or"
            for search_field in self.search_fields:
                search_connection.children.append((search_field + "__contains", key_word))
        return search_connection
def list_view(self,request):
	# 获取serach的Q对象
        search_connection = self.get_serach_conditon(request)
return render(request, "list_view.html", locals())

3、list_view.html

{% if showlist.config.search_fields %}
                     <form action="" class="pull-right">
                        <input type="text" name="q" value="{{ showlist.config.key_word }}"><button>submit</button>
                    </form>
 {% endif %}

猜你喜欢

转载自blog.csdn.net/qq_27695659/article/details/87932798