Forutsetninger:
Før du øver skriptet til denne opplæringen, må du fullføre følgende oppgaver.
Sett opp en Django -app:
Kjør følgende kommando for å opprette en Django -app som heter QueryApp.
$ Python3 Administrer.PY StartApp QueryAppKjør følgende kommando for å opprette brukeren for tilgang til Django -databasen. Hvis du har opprettet brukeren før, trenger du ikke kjøre kommandoen.
$ Python3 Administrer.Py CreateSuperuserLegg til appnavnet i Installert_app del av Innstillinger.py fil.
Installert_apps = [Opprett en mappe som heter Maler inne i QueryApp mappe og angi malens Plasseringen av appen i Maler del av Innstillinger.py fil.
Maler = [Lag en modell for databasetabellen:
Åpne modeller.py fil fra QueryApp mappe og legg til følgende skript for å definere strukturen til Produkter bord. Produkt Klasse er definert for å lage en tabell som heter Produkter med Navn, type, merkevare, og pris Enger. Her, Navn, type, og merke Felt vil lagre karakterdata, og pris Felt vil lagre heltalldataene.
modeller.py
# Importer modeller modulKjør Makemigrasjoner Kommando for å lage en ny migrasjon basert på endringene som er gjort av modellene.
$ Python3 Administrer.PY Makemigrations QueryAppKjør migrere Kommando for å utføre SQL -kommandoene og opprette alle tabeller i databasen som er definert i modeller.py fil.
$ Python3 Administrer.py migrererEndre innholdet i admin.py fil med følgende innhold. Her, modellenes produktklass er registrert ved å bruke registrere() metode for å vise Produkter Tabeller i Django Administration Dashboard.
admin.py
# Importer administratormodulOpprett en malfil som heter produktliste.html inne i queryApp/maler/ med følgende skript. Dette skriptet vil vise alle data om Produkter Tabell i tabellform med en søkeboks. Brukeren vil kunne søke i de spesielle postene fra produkttabellen ved å bruke søkeskjemaet. til Loop brukes i skriptet for å iterere dataene som er ført fra utsikt.py fil.
produktliste.html
Id | Navn | Merke | Pris |
---|---|---|---|
produkt.id | produkt.Navn | produkt.merke | style = "text-align: rett"> $ produkt.pris |
Endre innholdet i utsikt.py fil med følgende skript. Modell- og malnavnene er definert i Produktliste klasse. get_queryset () Klassemetoden er definert i skriptet for å filtrere dataene basert på innholdet som er sendt inn av søkeboksen til malen. Produkt.objekter.alle() metoden returnerer alle poster av Produkter bord. be om.FÅ.nøkler () Metoden brukes i skriptet for å sjekke alle data sendes inn av søkeskjemaet. Hvis denne metoden kommer tilbake ekte, og så be om.FÅ.få ('src') Metoden brukes til å sjekke den innsendte verdien er tom eller ikke. Hvis denne metoden returnerer en ikke-tom verdi, vil verdien lagres i variabelen, nøkkelord, og det vil bli brukt til å filtrere dataene basert på merke og type felt fra Produkter bord.
utsikt.py
# Import ListView -modulenEndre innholdet i URLS.py fil med følgende skript. I manuset, 'SearchPro/'bane er definert for å ringe Produktliste.as_view () metode som vil sende alle data og filtrerte data fra Produkter Tabell til malfilen.
URLS.py
# Importer administratormodulLegg til poster i tabellen:
Åpne Django -administrasjonssiden og legg til noen poster i Produkter Tabell for å bruke spørringssettet på da. Her har fem poster blitt satt inn.
Alle poster over produktene med søkefeltet vises i nettleseren etter å ha utført følgende URL.
http: // localhost: 8000/searchpro
Alle sjampoproduktene som vises hvis produkttypen, 'sjampo'Blir søkt i søkeboksen.
Melkepulverproduktene av den friske Merket vises hvis produktmerket, 'fersk'Blir søkt i søkeboksen.
Konklusjon:
Måten å filtrere dataene til en enkel databasetabell ved å bruke QuerySet har forklart i denne opplæringen. Dataene kan filtreres på forskjellige måter. Leserne vil forstå ved hjelp av et spørringssett for å filtrere eller søke i nettleseren etter å ha lest denne opplæringen.