Ricerca testuale su Django Admin usando Search Fields
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.
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.