What do the arguments "name__icontains" and "description__icontains" mean in a Django query filter?
It's a case-insensitive containment test.
Example:
Entry.objects.get(headline__icontains='Lennon')
SQL equivalent:
SELECT ... WHERE headline ILIKE '%Lennon%';
In your case the code says maps should be True
if either the name or the description field contains the value of search_terms
.
xxx_icontains
searches the whole xxx
field for the argument, case-insensitively.
http://docs.djangoproject.com/en/1.1/ref/models/querysets/#icontains