Django Simple Search on Foreign Key and Many to Many Fields -


this snippet simple django search works great doesn't support searches on foreign key or many many fields. how can search fk , m2m?

looking @ snippet, magic happens here:

def get_query(query_string, search_fields):     ...     q = q(**{"%s__icontains" % field_name: term})     ... 

based on that, appears does support fk or m2m searches, have specify full path in search_fields string using double underscore __.


for example, lets had model task has foreign key project, , project has attribute name:

class task(models.model):     project = models.foreignkey(project)  class project(models.model):     name = models.charfield(max_length=500) 

if wanted search through project names on task, write following:

>>> tq = get_query('<search term>',['project__name',]) >>> t = task.objects.filter(tq) 

Comments

Popular posts from this blog

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

python - Mongodb How to add addtional information when aggregating? -

java - Incorrect order of records in M-M relationship in hibernate -