Prerequisiti:
Prima di esercitarti con lo script di questo tutorial, devi completare le seguenti attività.
- Installa la versione Django 3+ su Ubuntu 20+ (preferibilmente)
- Crea un progetto Django
- Esegui il server Django per verificare che il server funzioni correttamente o meno.
Configura un'app Django:
Esegui il seguente comando per creare un'app Django denominata queryapp.
$ python3 gestire.py startapp queryappEsegui il seguente comando per creare l'utente per l'accesso al database Django. Se hai già creato l'utente, non è necessario eseguire il comando.
$ python3 gestire.py createsuperuserAggiungi il nome dell'app in INSTALLATA_APP parte di impostazioni.pi file.
INSTALLATE_APPS = […
'queryapp'
]
Crea una cartella denominata modelli dentro il queryapp cartella e impostare il modello posizione dell'app nel MODELLI parte di impostazioni.pi file.
MODELLI = [… .
'DIRS': ['/home/fahmida/django_pro/queryapp/templates'],
… .
,
]
Crea un modello per la tabella del database:
Apri il Modelli.pi file dal queryapp cartella e aggiungere il seguente script per definire la struttura di prodotti tavoli. Prodotto la classe è definita per creare una tabella denominata prodotti con nome, tipo, marca, e prezzo campi. Qui, nome, tipo, e marca i campi memorizzeranno i dati dei caratteri e il prezzo il campo memorizzerà i dati interi.
Modelli.pi
# Modulo di importazione dei modellida django.modelli di importazione db
# Definisci la classe per creare la tabella dei prodotti
classe Prodotto (modelli.Modello):
nome = modelli.CharField(max_length=100)
tipo = modelli.CharField(max_length=30)
marca = modelli.CharField(max_length=50)
prezzo = modelli.Campo intero()
Corri il migrazioni comando per creare una nuova migrazione in base alle modifiche apportate dai modelli.
$ python3 gestire.py makemigrations queryappCorri il migrare comando per eseguire i comandi SQL e creare tutte le tabelle nel database che sono definite nel Modelli.pi file.
$ python3 gestire.py migrareModifica il contenuto del of amministratore.pi file con il seguente contenuto. Qui, le classi di prodotto dei modellis è registrato utilizzando il Registrati() metodo per visualizzare il prodotti tabelle nella dashboard di amministrazione di Django.
amministratore.pi
# Importa modulo di amministrazioneda django.amministratore di importazione contributi
# Importa modello prodotto
a partire dal .i modelli importano il prodotto
# Registra il modello del prodotto
amministratore.luogo.registra (prodotto)
Crea un file modello chiamato Elenco prodotti.html dentro il queryapp/modelli/ con il seguente script. Questo script visualizzerà tutti i dati di prodotti tabella in forma tabellare con una casella di ricerca. L'utente sarà in grado di cercare i record particolari dalla tabella dei prodotti utilizzando il modulo di ricerca. per loop viene utilizzato nello script per iterare i dati passati dal passed visualizzazioni.pi file.
Elenco prodotti.html
Django QuerySet Tutorial
Ricerca prodotto
ID | Nome | Marca | Prezzo |
---|---|---|---|
Prodotto.ID | Prodotto.nome | Prodotto.marca | style="text-align:right">$prodotto.prezzo |
Modifica il contenuto del of visualizzazioni.pi file con il seguente script. I nomi del modello e del modello sono definiti nel Elenco prodotti classe. get_queryset() il metodo della classe è definito nello script per filtrare i dati in base al contenuto inviato dalla casella di ricerca del modello. Prodotto.oggetti.tutti() il metodo restituisce tutti i record di prodotti tavolo. richiesta.OTTENERE.chiavi() il metodo viene utilizzato nello script per verificare che i dati vengano inviati dal modulo di ricerca. Se questo metodo ritorna vero, poi il richiesta.OTTENERE.get('src') il metodo viene utilizzato per verificare che il valore inviato sia vuoto o meno. Se questo metodo restituisce un valore non vuoto, il valore verrà memorizzato nella variabile, parola chiave, e verrà utilizzato per filtrare i dati in base al marca e genere campi da prodotti tavolo.
visualizzazioni.pi
# Importa modulo ListViewda django.visualizzazioni.importazione generica ListView
# Modulo di importazione del prodotto
a partire dal .i modelli importano il prodotto
# Importa modulo Q
da django.db.modelli importati Q
# Definisci la classe per l'interrogazione dei dati
class ElencoProdotti(ListView):
# Definisci il modello
modello = prodotto
# Definisci il modello
template_name = 'elenco prodottiproduct.html'
def get_queryset(self):
# Imposta il set di query predefinito
queryset = Prodotto.oggetti.tutti()
# Controlla che il valore del modulo sia stato inviato o meno
se stesso.richiesta.OTTENERE.chiavi():
# Controlla la parola chiave di ricerca
se stesso.richiesta.OTTENERE.get('src') != ":
parola chiave = sé.richiesta.OTTENERE.get('src')
# Imposta il set di query in base alla parola chiave di ricerca
queryset = Prodotto.oggetti.filter(Q(marca=parola chiave.capitalizzare()) | Q(tipo=parola chiave.capitalizzare()))
restituire queryset query
Modifica il contenuto del of URL.pi file con il seguente script. Nella sceneggiatura, il 'cercaPro/' percorso è definito per chiamare il Elenco prodotti.as_view() metodo che invierà tutti i dati e i dati filtrati del prodotti tabella al file modello.
URL.pi
# Importa modulo di amministrazioneda django.amministratore di importazione contributi
# Importa il percorso e includi il modulo
da django.percorso di importazione degli URL
# Importa modulo Cerca Dipendenti
da queryapp.visualizzazioni importazione Elenco prodotti
patternurl = [
# Definisci il percorso per admin
percorso('admin/', admin.luogo.URL),
# Definisci il percorso per cercare il prodotto
path('searchPro/', ProductList.as_view()),
Aggiungi record nella tabella:
Apri la pagina di amministrazione di Django e aggiungi alcuni record nel prodotti tabella su cui applicare il set di query allora. Qui sono stati inseriti cinque record.
Tutti i record dei prodotti con la casella di ricerca verranno visualizzati nel browser dopo aver eseguito il seguente URL.
http://localhost:8000/searchPro
Tutti i prodotti shampoo visualizzati se il tipo di prodotto, 'shampoo'verrà cercato nella casella di ricerca.
I prodotti a base di latte in polvere di il fresco il marchio verrà visualizzato se il marchio del prodotto, 'fresco'verrà cercato nella casella di ricerca.
Conclusione:
Il modo di filtrare i dati di una semplice tabella di database utilizzando queryset è stato spiegato in questo tutorial. I dati possono essere filtrati in diversi modi. I lettori capiranno l'uso di un set di query per filtrare o cercare dati nel browser dopo aver letto questo tutorial.