FeinCMS: सरल खोज

मैं अपने feinCMS पेज के लिए एक साधारण खोज बनाने की कोशिश कर रहा हूं। इस ट्यूटोरियल , मैंने एक खोज बनाई जो सभी पेज शीर्षकों के माध्यम से खोजता है:

def get_results(query_string, search_fields):
    ''' Returns a query, that is a combination of Q objects. That combination
        aims to search keywords within a model by testing the given search fields.

    '''
    if len(query_string)>1:
        results = []
        query = None # Query to search for every search term        
        terms = normalize_query(query_string)
        for term in terms:
            results += Page.objects.filter(title__contains = term)
        return results

लेकिन मुझे नहीं पता कि मैं विभिन्न सामग्री प्रकारों के भीतर कैसे खोज सकता हूं।

अभी मैंने markdowncontent_set = Page.content_type_for (MarkdownContent) जोड़ा है, लेकिन मुझे क्या प्राप्त होता है और मैं सामग्री के माध्यम से कैसे लूप कर सकता हूं और जांच सकता हूं कि इसमें query_sring है या नहीं?

संपादित करें:

अभी मेरा कोड इस तरह दिखता है:

def get_results(query_string, search_fields):
    ''' Returns a query, that is a combination of Q objects. That combination
        aims to search keywords within a model by testing the given search fields.

    '''
    if len(query_string)>0:
        results = []
        query = None # Query to search for every search term        
        terms = normalize_query(query_string)
        for term in terms:
            results += Page.objects.filter(title__contains = term)
            results += Page.objects.select_related("markdowncontent_set").filter(markdowncontent_set__content__contains = term)
        return list(set(results))

शायद सबसे अच्छा समाधान नहीं है लेकिन यह काम करता है।

1
जोड़ा संपादित
विचारों: 1
अच्छा, मुझे लगता है कि यह मेरे उद्देश्य के लिए थोड़ा सा है। मुझे बस एक बहुत ही सरल खोज की ज़रूरत है
जोड़ा लेखक Alexander Scholz, स्रोत
पूर्ण टेक्स्ट खोज को उचित पूर्ण टेक्स्ट खोज इंजन, जैसे सोलर या लोचदार खोज के साथ बेहतर तरीके से संभाला जाता है। आप एक अगली कड़ी के रूप में django-haystack का उपयोग कर सकते हैं।
जोड़ा लेखक bruno desthuilliers, स्रोत

कोई जवाब नहीं है

0