Ricerca testuale su Django Admin usando Search Fields

24 maggio 2022

Django Admin offre la possibilità di ricercare testualmente i dati utilizzando `Search Fields`. Le ricerche testuali sono aggiunte alle pagine elenco dei modelli.

Cosa trovi in questo video

Django Admin offre la possibilità di ricercare testualmente i dati utilizzando `Search Fields`. Le ricerche testuali sono aggiunte alle pagine elenco dei modelli.

Formato Video guida tecnica Spiegazione pratica pensata per imparare il concetto e applicarlo con piu consapevolezza.
Approfondimento Ricerca testuale su Django Admin usando Search Fields La guida scritta contiene passaggi, esempi e riferimenti da consultare dopo il video.

Questo video accompagna la guida Ricerca testuale su Django Admin usando Search Fields e riprende i passaggi principali con una spiegazione più diretta e visuale.

Sintesi del video

Django Admin offre la possibilità di ricercare testualmente i dati utilizzando Search Fields. Le ricerche testuali sono aggiunte alle pagine elenco dei modelli.

Punti trattati

  • Attivazione della ricerca testuale
  • Ricerca su campi testuali
  • Ricerca su campi relazionati
  • Funzionamento della ricerca testuale
  • Definizione lookup di ricerca

Testo di supporto

La ricerca testuale è indispensabile per poter filtrare i dati in maniera efficiente, soprattutto quando il numero di informazioni, contenute nel nostro applicativo, cresce.

Django Admin offre la possibilità di aggiungere, all’interno del backoffice, i campi di ricerca in maniera intuitiva ed elegante. Con poche istruzioni, lo sviluppatore può mettere a disposizione dei propri utenti dei campi di ricerca che eseguono diverse tipologie di filtri: parola esatta, parole contenute, etc.

In questo articolo capirai come inserire i campi di ricerca all’interno di Django Admin utilizzando il campo search_fields. Una volta inseriti i campi di ricerca, il backoffice di Django ci mostra una pagina che si presenta come segue:

Per abilitare la ricerca testuale all’interno della pagina contenente l’elenco degli elementi di un modello, inserire nella classe del ModelAdmin del modello, la seguente istruzione:

Nella precedente lista, colonna1 e colonna2 rappresentano i nomi dei campi sui quali eseguiremo la ricerca testuale.

Un primo tipo di ricerca testuale può essere eseguito sui campi del modello di tipo testuale: CharField e TextField. Per eseguire una ricerca di questo tipo, inserire i nomi dei campi all’interno della variabile search_fields.

Inserendo i nomi di colonne senza specificare nulla, il filtro testuale lavora in modalità icontains, ossia eseguendo una like case insensitive.

Ad esempio, se inserisci una chiave di ricerca mario e stai ricercando sul campo nome, la condizione eseguita sul database è:

Puoi eseguire ricerche sui campi relazionati mediante ForeignKey e ManyToManyField. In particolare, puoi specificare il campo, della tabella relazionata, sul quale eseguire la ricerca testuale.

class Album(models.Model) nome = models.CharField(max_length=128) autore = models.ForeignKey(Autore, on_delete=models.PROTECT)


## Approfondimento scritto

Per comandi, esempi e passaggi completi puoi leggere l'articolo collegato: [Ricerca testuale su Django Admin usando Search Fields](/ricerca-testuale-django-admin-usando-search-fields/).

Come continuare

Se vuoi riprendere il contenuto con calma, puoi rivedere il video su YouTube o usare l'articolo scritto come riferimento testuale.