django find
1.0.0
Django-Find 는 Django 앱으로 프로젝트의 모델에 대한 복잡한 검색/필터 기능을 쉽게 추가 할 수 있습니다. Django 모델을 검색하는 두 가지 방법 인 쿼리 기반 또는 JSON 기반을 지원합니다.
Django-Find는 전체 텍스트 검색 엔진이 아니며 모델의 필드를 검색합니다. 다시 말해, 모델을 필터링하고 결과적으로 표 형 데이터를 제공합니다.
쿼리 기반으로, 우리는 이와 같은 문을 사용하여 모델을 검색 할 수 있음을 의미합니다.
author:"robert frost" and (title:road or chapter:2)
{% load find_tags %}
{% find object_list %}
{% for obj in object_list %}
{{ obj.name }}
{% endfor %}
(Object_List는 템플릿으로 전달되는 쿼리 세트입니다)
검색 가능한 믹스 만 추가하십시오.
from django_find import Searchable
class Author ( models . Model , Searchable ):
name = models . CharField ( "Author Name" , max_length = 10 )
...그리고 당신은 가기에 좋다 :
# Query-based search returns a standard Django QuerySet that you
# can .filter() and work with as usual.
query = Book . by_query ( 'author:"robert frost" and title:"the road"' )
# You can also get a Django Q object for the statements.
q_obj = Book . q_from_query ( 'author:"robert frost" and title:"the road"' )여러 모델에 걸쳐 복잡한 검색을 쉽게 수행하기 위해 JSON 기반 쿼리 방법이 제공됩니다. 다음과 같은 사용자 정의 검색을 수행 할 수 있습니다.
이를 위해 JSON 기반 검색 기능이 제공됩니다.
{
"Author":{"name":[[["equals","test"]]]},
"Book": {"title":[[["notcontains","c"]]]},
"Chapter": {"content":[[["startswith","The "]]]}
}
Django-Find는 해당 모델을 함께 결합하고 유용한 결과를 반환하는 방법을 알아내는 데 현명합니다. 코드에서 JSON을로드하고 검색 결과를 되 찾을 수 있습니다.
# JSON-based search exhausts what Django's ORM can do, so it does
# not return a Django QuerySet, but a row-based PaginatedRawQuerySet:
query , field_list = Book . by_json_raw ( '''{
"Chapter": {"title":[[["contains","foo"]]]}
}''' )
print ( '|' . join ( field_list ))
for row in query :
print ( '|' . join ( row ))설치 지침을 포함한 전체 문서는 다음과 같습니다.
http://django-find.readthedocs.io