Django

A queryset használata django-ban

A queryset használata django-ban
A legtöbb webalkalmazást most az adatbázissal valósítják meg. A queryset a Django alkalmazásban rekordok lekérésére szolgál az adatbázis-tábla szűrésével, szeletelésével vagy megrendelésével az eredeti adatok megváltoztatása nélkül. A modell Django segítségével hozta létre a táblázatot az adatbázisban. Tehát a modell Django-ban való használatának ismerete szükséges a queryset használatának megértéséhez. A lekérdezés fő funkciója az adatbázis-táblák rekordjainak iterálása SQL-lekérdezésekké alakításával. Használható a python parancssorából vagy a python parancsfájl megírásával a böngésző kimenetének megjelenítéséhez. Ez az oktatóanyag elmagyarázta a lekérdezés használatát az adatbázis-táblák különböző módon történő lekérésére.

Előfeltételek:

Az oktatóanyag szkriptjének gyakorlása előtt el kell végeznie a következő feladatokat.

  1. Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
  2. Hozzon létre egy Django projektet
  3. Futtassa a Django szervert annak ellenőrzésére, hogy a szerver megfelelően működik-e vagy sem.

Állítson be egy Django alkalmazást:

Futtassa a következő parancsot egy Django alkalmazás létrehozásához queryapp.

$ python3 kezelni.py startapp queryapp

Futtassa a következő parancsot a felhasználó létrehozásához a Django adatbázis eléréséhez. Ha korábban létrehozta a felhasználót, akkor nem kell futtatnia a parancsot.

$ python3 kezelni.py létrehozza a túlfelhasználót

Adja hozzá az alkalmazás nevét a INSTALLED_APP része a beállítások.py fájl.

INSTALLED_APPS = [

'queryapp'
]

Hozzon létre egy nevű mappát sablonok benne queryapp mappát, és állítsa be a sablonok az alkalmazás helye a Sablonok része a beállítások.py fájl.

Sablonok = [

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

Hozzon létre egy modellt az adatbázis-táblához:

Nyissa meg a modellek.py fájl a queryapp mappát, és adja hozzá a következő parancsfájlt a struktúra meghatározásához Termékek táblázatok. Termék osztály definiálva van egy tábla létrehozására Termékek val vel név, típus, márka, és ár mezők. Itt, név, típus, és márka mezők karakteradatokat tárolnak, és a ár mező az egész adatokat tárolja.

modellek.py

# Modellek importálása modul
djangótól.db import modellek
# Definiálja az osztályt a termékek létrehozásához
osztály Termék (modellek.Modell):
név = modellek.CharField (max_hossz = 100)
típus = modellek.CharField (max_hossz = 30)
márka = modellek.CharField (max_hossz = 50)
ár = modellek.IntegerField ()

Futtassa a makemigrációk parancsot egy új migráció létrehozására a modellek által végrehajtott változtatások alapján.

$ python3 kezelni.py makemigrations queryapp

Futtassa a vándorol parancs az SQL parancsok végrehajtására és az adatbázisban az modellek.py fájl.

$ python3 kezelni.py vándorolnak

Módosítsa a admin.py fájl a következő tartalommal. Itt, a modellek termékosztályas regisztrálása a Regisztráció() módszer a Termékek táblázatok a Django adminisztráció irányítópultján.

admin.py

# Adminisztrációs modul importálása
djangótól.közreműködés import admin
# Termékmodell importálása
tól től .modellek importálják a terméket
# Regisztrálja a termék modelljét
admin.webhely.regisztráció (termék)

Hozzon létre egy sablonfájlt terméklista.html benne queryapp / templates / a következő forgatókönyvvel. Ez a szkript megjeleníti a Termékek táblázat táblázatos formában, keresőmezővel. A felhasználó a keresési űrlap segítségével megkeresheti az adott rekordokat a terméktáblázatból. mert a ciklus a szkriptben a nézetek.py fájl.

terméklista.html



<br>Django QuerySet bemutató<br>



Termék keresése



% csrf_token%
Termék keresése:







% az objektumlista%% termékéhez



% endfor%
IDNévMárkaÁr
termék.id termék.név termék.márkastyle = "text-align: right"> $ termék.ár



Módosítsa a nézetek.py a következő szkriptet tartalmazó fájl. A modell és a sablon nevét a Terméklista osztály. get_queryset () Az osztály metódusát a szkript definiálja az adatok szűrésére a sablon keresőmezője által beküldött tartalom alapján. Termék.tárgyakat.minden() metódus visszaadja a Termékek asztal. kérés.KAP.kulcsok() metódust használnak a szkriptben annak ellenőrzésére, hogy a keresési űrlap elküldi-e az adatokat. Ha ez a módszer visszatér igaz, aztán a kérés.KAP.get ('src') módszerrel ellenőrizzük, hogy a beküldött érték üres vagy sem. Ha ez a módszer nem üres értéket ad vissza, akkor az értéket a változó tárolja, kulcsszó, és az adatok alapján lesz szűrve a márka és típus mezők a Termékek asztal.

nézetek.py

# ListView modul importálása
djangótól.nézetek.általános importálás ListView
# Import termék modul
tól től .modellek importálják a terméket
# Q modul importálása
djangótól.db.modellek importálják Q-t
# Definiálja az osztályt az adatok lekérdezéséhez
osztály ProductList (ListView):
# Definiálja a modellt
modell = Termék
# Definiálja a sablont
template_name = 'productList.html '
def get_queryset (self):
# Állítsa be az alapértelmezett lekérdezési készletet
lekérdezés = Termék.tárgyakat.minden()
# Ellenőrizze, hogy az űrlap értéke beküldött-e vagy sem
ha önmaga.kérés.KAP.kulcsok():
# Ellenőrizze a keresési kulcsszót
ha önmaga.kérés.KAP.get ('src') != ":
kulcsszó = én.kérés.KAP.get ('src')
# Állítsa be a lekérdezéskészletet a keresési kulcsszó alapján
lekérdezés = Termék.tárgyakat.szűrő (Q (márka = kulcsszó.nagybetűs ()) | Q (típus = kulcsszó.nagybetűs ()))
visszatérési lekérdezés

Módosítsa a URL-ek.py a következő szkriptet tartalmazó fájl. A szkriptben asearchProA / 'elérési út definiálva van a Terméklista.as_view () metódus, amely elküldi az összes adatot és a Termékek táblázatot a sablonfájlba.

URL-ek.py

# Adminisztrációs modul importálása
djangótól.közreműködés import admin
# Útvonal importálása és modul hozzáadása
djangótól.URL importálási útvonal
# SearchEmployee modul importálása
from queryapp.nézetek importálja a ProductList-et
urlpatterns = [
# Adja meg az admin elérési útját
elérési út ('admin /', admin.webhely.URL-ek),
# Határozza meg a termék keresési útvonalát
elérési út ('searchPro /', ProductList.as_view ()),

Rekordok hozzáadása a táblához:

Nyissa meg a Django Administration oldalt, és adjon hozzá néhány rekordot a Termékek táblázat a queryset alkalmazására. Itt öt rekordot illesztettek be.

A keresőmezővel ellátott termékek összes rekordja a következő URL végrehajtása után megjelenik a böngészőben.

http: // localhost: 8000 / searchPro


Az összes megjelenített sampon termék, ha a termék típusa "sampon'keresésre kerül a keresőmezőben.

A a Friss márka jelenik meg, ha a termék márka, ”friss'keresésre kerül a keresőmezőben.

Következtetés:

Az oktatóanyag elmagyarázza, hogyan lehet egy egyszerű adatbázis-tábla adatait szűrni a lekérdezés használatával. Az adatok különböző módon szűrhetők. Az oktatók elolvasása után az olvasók megértik a lekérdezés használatát az adatok szűrésére vagy keresésére a böngészőben.

Csata a Wesnothért 1.13.6 Megjelent a fejlesztés
Csata a Wesnothért 1.13.A múlt hónapban megjelent 6 a hatodik fejlesztési kiadás az 1-ben.13.x sorozat, és számos fejlesztést hajt végre, nevezetesen ...
A League of Legends telepítése az Ubuntu 14-re.04
Ha rajongsz a League of Legendsért, akkor ez egy lehetőség arra, hogy teszteld a League of Legends játékot. Ne feledje, hogy a LOL a PlayOnLinux rends...
Telepítse a legújabb OpenRA stratégiai játékot az Ubuntu Linux rendszerre
Az OpenRA egy ingyenes / ingyenes valós idejű stratégiai játékmotor, amely újjáépíti a korai Westwood játékokat, mint például a klasszikus Command & C...