Come usare queryyset in django

Come usare queryyset in django
La maggior parte delle applicazioni Web sono ora implementate con il database. QuerySet viene utilizzato nell'applicazione Django per recuperare i record filtrando o tagliando o ordinando la tabella del database senza modificare i dati originali. Il modello ha utilizzato Django per creare la tabella nel database. Quindi, la conoscenza dell'utilizzo del modello in Django è necessaria per comprendere l'uso della queryyset. La funzione principale della queryyset è quella di iterare i record delle tabelle del database convertendole in query SQL. Può essere utilizzato dalla riga di comando Python o scrivendo lo script Python per visualizzare l'output del browser. In questo tutorial sono stati spiegati gli usi della queryyset per il recupero dei dati da una tabella di database in diversi modi.

Prerequisiti:

Prima di praticare la sceneggiatura di questo tutorial, devi completare le seguenti attività.

  1. Installa la versione Django 3+ su Ubuntu 20+ (preferibilmente)
  2. Crea un progetto Django
  3. Esegui il server Django per verificare che il server funzioni correttamente o meno.

Imposta un'app Django:

Esegui il seguente comando per creare un'app Django denominata Queryapp.

$ Python3 Gestisci.Py Startapp Queryapp

Esegui il comando seguente per creare l'utente per accedere al database Django. Se hai creato l'utente prima, non è necessario eseguire il comando.

$ Python3 Gestisci.py createsuperuser

Aggiungi il nome dell'app in Installato_app parte di impostazioni.Py file.

Installato_apps = [
..
'queryapp'
"

Crea una cartella denominata modelli dentro il Queryapp cartella e impostare il modello Posizione dell'app nel file Modelli parte di impostazioni.Py file.

Modelli = [

.. .
'Dirs': ['/home/fahmida/django_pro/queryapp/templates'],
.. .
,
"

Crea un modello per la tabella del database:

Apri il Modelli.Py file da 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, marchio, E prezzo campi. Qui, nome, tipo, E marca Fields memorizzerà i dati dei caratteri e il prezzo Il campo memorizzerà i dati interi.

Modelli.Py

# Modulo dei modelli Importa
da Django.Modelli di importazione DB
# Definisci la classe per creare la tabella dei prodotti
Prodotto di classe (modelli.Modello):
name = modelli.Charfield (max_length = 100)
tipo = modelli.Charfield (max_length = 30)
Brand = Models.Charfield (max_length = 50)
Price = modelli.Integerfield ()

Corri il makemigrations comando per creare una nuova migrazione in base alle modifiche apportate dai modelli.

$ Python3 Gestisci.Py Makemigrations Queryapp

Corri il migrare comando di eseguire i comandi SQL e creare tutte le tabelle nel database definite nel Modelli.Py file.

$ Python3 Gestisci.py migrare

Modificare il contenuto del amministratore.Py File con il seguente contenuto. Qui, il prodotto dei prodotti dei modellis è registrato utilizzando il Registrati() metodo per visualizzare il file prodotti Tabelle nella dashboard di amministrazione Django.

amministratore.Py

# Importa modulo amministratore
da Django.AMPIONE AMMINIO DI IMPIT
# Importa modello di prodotto
da .I modelli importano prodotto
# Registra il modello di prodotto
amministratore.luogo.Registra (prodotto)

Crea un file modello denominato Elenco di prodotti.html dentro il queryapp/modelli/ Con il seguente script. Questo script visualizzerà tutti i dati di prodotti Tabella in forma tabulare 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 da visualizzazioni.Py file.

Elenco di prodotti.html



<br>Django QueryySet Tutorial<br>



Prodotto di ricerca



% csrf_token %
Prodotto di ricerca:







% per il prodotto in object_list %



% endfor %
IDNomeMarcaPrezzo
Prodotto.id Prodotto.nome Prodotto.marcastyle = "text-align: diritto"> $ Product.prezzo



Modificare il contenuto del visualizzazioni.Py File con il seguente script. Il modello e i nomi dei modelli sono definiti in Elenco di 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.Tutto() Il metodo restituisce tutti i record del prodotti tavolo. richiesta.OTTENERE.tasti () Il metodo viene utilizzato nello script per verificare che i dati vengono 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 è vuoto o no. 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 tipo campi dal prodotti tavolo.

visualizzazioni.Py

# Importa modulo ListView
da Django.visualizzazioni.Elenco delle importazioni generiche
# Importa il modulo del prodotto
da .I modelli importano prodotto
# Importa modulo Q
da Django.db.Modelli importano Q
# Definisci la classe per interrogare i dati
Classe ProductList (ListView):
# Definisci modello
modello = prodotto
# Definisci modello
template_name = 'ProductList.html '
def get_queryset (self):
# Imposta il set di query predefinito
QuerySet = Product.oggetti.Tutto()
# Controllare che il valore del modulo viene inviato o meno
se sé.richiesta.OTTENERE.tasti ():
# Controlla la parola chiave di ricerca
se sé.richiesta.OTTENERE.get ('src') != ":
parola chiave = self.richiesta.OTTENERE.get ('src')
# Imposta il set di query in base alla parola chiave di ricerca
QuerySet = Product.oggetti.Filtro (Q (Brand = Parola chiave.capitalizza ()) | Q (type = parola chiave.capitalizzare()))
restituire queryyset

Modificare il contenuto del URL.Py File con il seguente script. Nella sceneggiatura, il 'SearchPro/'Il percorso è definito per chiamare il Elenco di prodotti.as_view () metodo che invierà tutti i dati e i dati filtrati del prodotti Tabella al file modello.

URL.Py

# Importa modulo amministratore
da Django.AMPIONE AMMINIO DI IMPIT
# Percorso di importazione e includi il modulo
da Django.percorso di importazione degli URL
# Importa il modulo SearchEmployee
da queryapp.Visualizzazioni di importazione
urlpatterns = [
# Definisci il percorso per l'amministratore
Path ('Admin/', Admin.luogo.URL),
# Definisci il percorso per cercare il prodotto
Path ('SearchPro/', ProductList.as_view ()),

Aggiungi record nella tabella:

Apri la pagina dell'amministrazione Django e aggiungi alcuni record al prodotti tabella per applicare il queryyset su 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'sarà cercato nella casella di ricerca.

I prodotti in polvere di latte di il fresco Il marchio verrà visualizzato se il marchio del prodotto "fresco'sarà 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 modi diversi. I lettori capiranno l'utilizzo di una queryyset per filtrare o cercare i dati nel browser dopo aver letto questo tutorial.