उदाहरण के लिए, मैं iregex का उपयोग करने वाले sql LIKE '% pattern%' कथन में शब्दों के क्रम को संरक्षित करने के लिए,
qs = table.objects.filter(string__iregex=pattern.replace(' ', '.*'))
स्ट्रिंग विधियाँ अपरिवर्तनीय हैं, इसलिए आपका पैटर्न वैरिएबल नहीं बदलेगा और उसके साथ। * आप किसी भी वर्ण के 0 या अधिक आवृत्तियों की खोज करेंगे, लेकिन लाइनों को तोड़ेंगे।
पैटर्न शब्दों पर पुनरावृति के लिए निम्नलिखित का उपयोग करके:
qs = table.objects
for word in pattern.split(' '):
qs = qs.filter(string__icontains=word)
आपके पैटर्न में शब्दों के क्रम को संरक्षित नहीं किया जाएगा, कुछ लोगों के लिए जो काम कर सकते हैं, लेकिन मैं पहले विकल्प का उपयोग करने वाले कथन जैसे sql की नकल करने की कोशिश करूंगा।
result = table.objects.filter(string__icontains='pattern')