Django

Kuinka käyttää kyselyjoukkoa djangossa

Kuinka käyttää kyselyjoukkoa djangossa
Suurin osa verkkosovelluksista on nyt toteutettu tietokannan kanssa. kyselyjoukkoa käytetään Django-sovelluksessa tietueiden hakemiseen suodattamalla tai leikkaamalla tai tilaamalla tietokantataulukko alkuperäisiä tietoja muuttamatta. Malli käytti Djangoa taulukon luomiseen tietokantaan. Joten tieto mallin käytöstä Djangossa on tarpeen kyselyjoukon käytön ymmärtämiseksi. Kyselyjoukon päätehtävä on iteroida tietokantataulukoiden tietueet muuntamalla ne SQL-kyselyiksi. Sitä voidaan käyttää python-komentoriviltä tai kirjoittamalla python-komentosarja selaimen tuotoksen näyttämiseksi. Kyselyjoukon käyttö tietojen hakemiseen tietokantataulukosta eri tavoin on selitetty tässä opetusohjelmassa.

Edellytykset:

Ennen tämän opetusohjelman komentosarjan käyttämistä sinun on suoritettava seuraavat tehtävät.

  1. Asenna Django-versio 3+ Ubuntu 20+ -käyttöjärjestelmään (mieluiten)
  2. Luo Django-projekti
  3. Suorita Django-palvelin varmistaaksesi, että palvelin toimii oikein.

Määritä Django-sovellus:

Suorita seuraava komento luoda Django-sovellus nimeltä queryapp.

$ python3 hallita.py startapp queryapp

Suorita seuraava komento, jos haluat luoda käyttäjän Django-tietokantaan. Jos olet luonut käyttäjän aiemmin, sinun ei tarvitse suorittaa komentoa.

$ python3 hallita.py luo ylikäyttäjä

Lisää sovelluksen nimi INSTALLED_APP osa asetukset.py tiedosto.

INSTALLED_APPS = [

'queryapp'
]

Luo kansio nimeltä malleja sisällä queryapp kansio ja aseta mallin sovelluksen sijainti MALLIT osa asetukset.py tiedosto.

MALLIT = [

… .
'DIRS': ['/ home / fahmida / django_pro / queryapp / templates'],
… .
,
]

Luo malli tietokantataulukolle:

Avaa malleja.py tiedosto queryapp -kansio ja lisää seuraava komentosarja määrittelemään kansion rakenne Tuotteet taulukoita. Tuote luokka määritellään luomaan taulukko nimeltä Tuotteet kanssa nimi, tyyppi, tuotemerkki, ja hinta kentät. Tässä, nimi, tyyppi, ja brändi kentät tallentavat merkkitiedot ja hinta kenttä tallentaa kokonaislukutiedot.

malleja.py

# Tuo mallimoduuli
alkaen django.db-tuontimallit
# Määritä luokka luomaan tuotetaulukko
luokan tuote (mallit.Malli):
nimi = mallit.CharField (enimmäispituus = 100)
tyyppi = mallit.CharField (enimmäispituus = 30)
tuotemerkki = mallit.CharField (enimmäispituus = 50)
hinta = mallit.KokonaislukuKenttä ()

Suorita muuttoliikkeet komento luoda uusi siirto mallien tekemien muutosten perusteella.

$ python3 hallita.py makemigrations queryapp

Suorita siirtyä komento suorittaa SQL-komennot ja luoda kaikki taulukossa määritellyt taulukot taulukossa malleja.py tiedosto.

$ python3 hallita.py siirtyä

Muokkaa sisältöä admin.py tiedosto, jolla on seuraava sisältö. Tässä, mallien tuoteluokkas rekisteröidään käyttämällä rekisteröidy () menetelmä näyttää Tuotteet taulukot Djangon hallinnon hallintapaneelissa.

admin.py

# Tuo hallintamoduuli
alkaen django.contrib tuonti järjestelmänvalvoja
# Tuo tuotemalli
alkaen .mallit tuovat tuotetta
# Rekisteröi tuotemalli
admin.sivusto.rekisteröidy (Tuote)

Luo mallitiedosto nimeltä Tuotelista.html sisällä queryapp / templates / seuraavalla komentosarjalla. Tämä komentosarja näyttää kaikki kohteen Tuotteet taulukko taulukkomuodossa ja hakukenttä. Käyttäjä voi hakea tiettyjä tietueita tuotetaulukosta hakulomakkeen avulla. varten silmukkaa käytetään komentosarjassa iteroimaan dataa, joka on siirretty näkymät.py tiedosto.

Tuotelista.html



<br>Django QuerySet -opetusohjelma<br>



Tuotteen haku



% csrf_token%
Etsi tuote:







% tuotteelle objektiluettelossa%



% endfor%
HenkilötunnusNimiBrändiHinta
tuote.id tuote.nimi tuote.brändistyle = "text-align: right"> $ tuote.hinta



Muokkaa sisältöä näkymät.py tiedosto seuraavalla komentosarjalla. Mallin ja mallinimet määritetään Tuotelista luokassa. get_queryset () luokan menetelmä määritetään komentosarjassa suodattamaan tiedot mallin hakukentän lähettämän sisällön perusteella. Tuote.esineitä.kaikki() method palauttaa kaikki Tuotteet pöytä. pyyntö.SAADA.näppäimet () menetelmää käytetään komentosarjassa tarkistamaan hakulomakkeen lähettämät tiedot. Jos tämä menetelmä palaa totta, sitten pyyntö.SAADA.get ('src') menetelmää käytetään tarkistamaan, että lähetetty arvo on tyhjä vai ei. Jos tämä menetelmä palauttaa arvon, joka ei ole tyhjä, arvo tallennetaan muuttujaan, avainsana, ja sitä käytetään tietojen suodattamiseen brändi ja tyyppi kentät Tuotteet pöytä.

näkymät.py

# Tuo ListView-moduuli
alkaen django.näkymät.yleinen tuonti ListView
# Tuo tuotemoduuli
alkaen .mallit tuovat tuotetta
# Tuo Q-moduuli
alkaen django.db.mallit tuovat Q
# Määritä kyselytietojen luokka
luokka ProductList (ListView):
# Määritä malli
malli = tuote
# Määritä malli
template_name = 'tuoteluettelo.html '
def get_queryset (itse):
# Aseta oletuskyselyjoukko
kyselyjoukko = Tuote.esineitä.kaikki()
# Tarkista, että lomakkeen arvo on lähetetty
jos itse.pyyntö.SAADA.näppäimet ():
# Tarkista hakusana
jos itse.pyyntö.SAADA.get ('src') != ":
avainsana = itse.pyyntö.SAADA.get ('src')
# Aseta kyselyjoukko hakusanan perusteella
queryset = Tuote.esineitä.suodatin (Q (tuotemerkki = avainsana.isot kirjaimet ()) | Q (tyyppi = avainsana.isot kirjaimet ()))
paluu kyselyjoukko

Muokkaa sisältöä URL-osoitteet.py tiedosto seuraavalla komentosarjalla. KäsikirjoituksessasearchPro/ 'polku on määritetty kutsumaan Tuotelista.as_view () menetelmä, joka lähettää kaikki tiedot ja suodatetut tiedot Tuotteet taulukko mallitiedostoon.

URL-osoitteet.py

# Tuo hallintamoduuli
alkaen django.contrib tuonti järjestelmänvalvoja
# Tuo polku ja sisällytä moduuli
alkaen django.URL-osoitteiden tuontipolku
# Tuo SearchEmployee-moduuli
kyselysovelluksesta.tuonti ProductList
urlpatterns = [
# Määritä järjestelmänvalvojan polku
polku ('admin /', admin.sivusto.URL-osoitteet),
# Määritä hakutuotteen polku
polku ('searchPro /', ProductList.as_view ()),

Lisää tietueita taulukkoon:

Avaa Django Administration -sivu ja lisää joitain tietueita Tuotteet taulukko soveltaa kyselyjoukkoa silloin. Tähän on lisätty viisi tietuetta.

Kaikki hakukenttää sisältävien tuotteiden tietueet näytetään selaimessa seuraavan URL-osoitteen suorittamisen jälkeen.

http: // localhost: 8000 / searchPro


Kaikki näytetyt shampootuotteet, jos tuotetyyppi, 'shampoo'haetaan hakukentästä.

Nimikkeen tuore tuotemerkki näkyy, jos tuotemerkki,tuore'haetaan hakukentästä.

Päätelmä:

Tapa suodattaa yksinkertaisen tietokantataulukon tiedot käyttämällä kyselyjoukkoa on selitetty tässä opetusohjelmassa. Tiedot voidaan suodattaa eri tavoin. Lukijat ymmärtävät kyselyjoukon käyttämisen tietojen suodattamiseen tai hakemiseen selaimessa tämän opetusohjelman lukemisen jälkeen.

Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Parhaat komentorivipelit Linuxille
Komentorivi ei ole vain suurin liittolainen Linuxia käytettäessä - se voi olla myös viihteen lähde, koska voit käyttää sitä pelaamaan monia hauskoja p...
Parhaat Linux-peliohjaimen kartoitussovellukset
Jos haluat pelata pelejä Linuxissa peliohjaimella tyypillisen näppäimistön ja hiiren syöttöjärjestelmän sijaan, on sinulle hyödyllisiä sovelluksia. Mo...