kopia lustrzana https://github.com/wagtail/wagtail
Added DocumentQuerySet with search method
rodzic
7a1a1d19e1
commit
9d0c19d50f
|
@ -16,6 +16,16 @@ from django.utils.encoding import python_2_unicode_compatible
|
|||
from wagtail.wagtailadmin.taggable import TagSearchable
|
||||
from wagtail.wagtailadmin.utils import get_object_usage
|
||||
from wagtail.wagtailsearch import index
|
||||
from wagtail.wagtailsearch.backends import get_search_backend
|
||||
|
||||
|
||||
class DocumentQuerySet(models.QuerySet):
|
||||
def search(self, query_string, fields=None, backend='default'):
|
||||
"""
|
||||
This runs a search query on all the documents in the QuerySet
|
||||
"""
|
||||
search_backend = get_search_backend(backend)
|
||||
return search_backend.search(query_string, self, fields=fields)
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
|
@ -27,6 +37,8 @@ class Document(models.Model, TagSearchable):
|
|||
|
||||
tags = TaggableManager(help_text=None, blank=True, verbose_name=_('Tags'))
|
||||
|
||||
objects = DocumentQuerySet.as_manager()
|
||||
|
||||
search_fields = TagSearchable.search_fields + (
|
||||
index.FilterField('uploaded_by_user'),
|
||||
)
|
||||
|
|
|
@ -25,6 +25,16 @@ from wagtail.wagtaildocs import models
|
|||
from wagtail.wagtaildocs.rich_text import DocumentLinkHandler
|
||||
|
||||
|
||||
class TestImageQuerySet(TestCase):
|
||||
def test_search_method(self):
|
||||
# Make a test document
|
||||
document = models.Document.objects.create(title="Test document")
|
||||
|
||||
# Search for it
|
||||
results = models.Document.objects.search("Test")
|
||||
self.assertEqual(list(results), [document])
|
||||
|
||||
|
||||
class TestDocumentPermissions(TestCase):
|
||||
def setUp(self):
|
||||
# Create some user accounts for testing permissions
|
||||
|
|
Ładowanie…
Reference in New Issue