Django

Ako používať sadu dotazov v django

Ako používať sadu dotazov v django
Väčšina webových aplikácií je teraz implementovaná do databázy. sada dotazov sa používa v aplikácii Django na načítanie záznamov filtrovaním alebo krájaním alebo objednávaním databázovej tabuľky bez zmeny pôvodných údajov. Model použil Django na vytvorenie tabuľky v databáze. Znalosť používania modelu v Djangu je teda nevyhnutná na pochopenie používania sady dotazov. Hlavnou funkciou sady dotazov je iterácia záznamov databázových tabuliek ich prevodom na dotazy SQL. Môže byť použitý z príkazového riadku pythonu alebo napísaním skriptu python na zobrazenie výstupu prehliadača. V tomto výučbe je vysvetlené použitie sady dotazov na načítanie údajov z databázovej tabuľky rôznymi spôsobmi.

Predpoklady:

Pred precvičením scenára tohto tutoriálu musíte splniť nasledujúce úlohy.

  1. Nainštalujte si Django verzie 3+ na Ubuntu 20+ (najlepšie)
  2. Vytvorte projekt Django
  3. Spustením servera Django skontrolujte, či server funguje správne alebo nie.

Inštalácia aplikácie Django:

Spustením nasledujúceho príkazu vytvorte aplikáciu Django s názvom queryapp.

$ python3 spravovať.py startapp queryapp

Spustením nasledujúceho príkazu vytvorte používateľa pre prístup k databáze Django. Ak ste používateľa vytvorili už predtým, nemusíte tento príkaz spúšťať.

$ python3 spravovať.py vytvorí superužívateľa

Pridajte názov aplikácie do priečinka INSTALLED_APP časť nastavenie.py spis.

INSTALLED_APPS = [

'queryapp'
]

Vytvorte priečinok s názvom šablóny vnútri queryapp priečinok a nastavte šablóny umiestnenie aplikácie v ŠABLÓNY časť nastavenie.py spis.

TEMPLATES = [

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

Vytvorte model pre databázovú tabuľku:

Otvor modely.py súbor z queryapp priečinok a pridajte nasledujúci skript, ktorý definuje štruktúru priečinka Produkty stoly. Výrobok triedy je definované na vytvorenie tabuľky s názvom Produkty s meno, typ, značka, a cena polia. Tu, meno, typ, a značka polia budú ukladať údaje znakov a cena pole uloží celočíselné údaje.

modely.py

# Modul importu modelov
od djanga.db import modely
# Definujte triedu na vytvorenie tabuľky produktov
trieda Produkt (modely.Model):
meno = modely.CharField (max_length = 100)
typ = modely.CharField (max_length = 30)
značka = modely.CharField (max_length = 50)
cena = modely.IntegerField ()

Spustiť makemigrácie príkaz na vytvorenie novej migrácie na základe zmien vykonaných modelmi.

$ python3 spravovať.py makemigrations queryapp

Spustiť migrovať príkaz na vykonanie príkazov SQL a vytvorenie všetkých tabuliek v databáze, ktoré sú definované v modely.py spis.

$ python3 spravovať.py migrovať

Upraviť obsah admin.py súbor s nasledujúcim obsahom. Tu, triedy výrobkov týchto modelovs je registrovaná pomocou Registrovať() metóda zobrazenia Produkty tabuľky na administračnom paneli Django.

admin.py

# Importovať modul správcu
od djanga.sk prispieť import
# Import modelu produktu
od .modely importujú produkt
# Registrovať model produktu
admin.stránky.registrovať (Produkt)

Vytvorte súbor šablóny s názvom zoznam produktov.html vnútri queryapp / šablóny / s nasledujúcim skriptom. Tento skript zobrazí všetky údaje o Produkty tabuľka vo forme tabuľky s vyhľadávacím poľom. Používateľ bude môcť vyhľadávať konkrétne záznamy z tabuľky výrobkov pomocou vyhľadávacieho formulára. pre slučka sa v skripte používa na iteráciu údajov odovzdaných z priečinka názory.py spis.

zoznam produktov.html



<br>Výukový program Django QuerySet<br>



Hľadá sa produkt



% csrf_token%
Hľadať produkt:







% pre produkt v zozname_objektov%



% endfor%
IDnázovZnačkacena
produkt.id produkt.názov produkt.značkastyle = "text-align: right"> $ product.cena



Upraviť obsah názory.py súbor s nasledujúcim skriptom. Názvy modelov a šablón sú definované v dokumente Zoznam produktov trieda. get_queryset () metóda triedy je definovaná v skripte na filtrovanie údajov na základe obsahu odoslaného vyhľadávacím poľom šablóny. Výrobok.predmety.všetko () metóda vráti všetky záznamy z Produkty stôl. žiadosť.ZÍSKAJTE.klávesy () v skripte sa používa metóda na kontrolu akýchkoľvek údajov odoslaných vyhľadávacím formulárom. Ak sa táto metóda vráti pravda, potom žiadosť.ZÍSKAJTE.get ('src') metóda sa používa na kontrolu, či zadaná hodnota je prázdna alebo nie. Ak táto metóda vráti neprázdnu hodnotu, hodnota sa uloží do premennej, kľúčové slovo, a použije sa na filtrovanie údajov na základe značka a typu polia z Produkty stôl.

názory.py

# Importovať modul ListView
od djanga.názory.všeobecný import ListView
# Importovať modul produktu
od .modely importujú produkt
# Import Q modulu
od djanga.db.modely importovať Q
# Definujte triedu pre dopytovanie údajov
trieda ProductList (ListView):
# Definujte model
model = produkt
# Definujte šablónu
template_name = 'productList.html '
def get_queryset (self):
# Nastaviť predvolenú množinu dotazov
queryset = Produkt.predmety.všetko ()
# Skontrolujte, či je zadaná hodnota formulára
ak ja.žiadosť.ZÍSKAJTE.klávesy ():
# Skontrolujte hľadané kľúčové slovo
ak ja.žiadosť.ZÍSKAJTE.get ('src') != ":
kľúčové slovo = ja.žiadosť.ZÍSKAJTE.get ('src')
# Nastavte skupinu dotazov na základe kľúčového slova vyhľadávania
queryset = Produkt.predmety.filter (Q (značka = kľúčové slovo.veľké písmená ()) | Q (typ = kľúčové slovo.veľké písmená ()))
návratová sada dotazov

Upraviť obsah adresy URL.py súbor s nasledujúcim skriptom. V scenári sasearchPro/ 'cesta je definovaná pre volanie Zoznam produktov.as_view () metóda, ktorá odošle všetky údaje a filtrované údaje z Produkty tabuľku do súboru šablóny.

adresy URL.py

# Importovať modul správcu
od djanga.sk prispieť import
# Importovať cestu a zahrnúť modul
od djanga.cesta importu adries URL
# Importovať modul SearchEmployee
z queryapp.zobrazenia importujú zoznam produktov
urlpatterns = [
# Definujte cestu pre administrátora
cesta ('admin /', admin.stránky.adresy URL),
# Definujte cestu k vyhľadávaniu produktu
cesta ('searchPro /', ProductList.as_view ()),

Pridajte záznamy do tabuľky:

Otvorte stránku Správa Django a pridajte nejaké záznamy do priečinka Produkty tabuľku, na ktorú sa má sada dotazov použiť. Tu bolo vložených päť záznamov.

Všetky záznamy o produktoch s vyhľadávacím poľom sa zobrazia v prehliadači po vykonaní nasledujúcej adresy URL.

http: // localhost: 8000 / searchPro


Všetky šampónové výrobky zobrazené, ak je to typ výrobku, “šampón„sa bude hľadať vo vyhľadávacom poli.

Výrobky zo sušeného mlieka z čerstvé značka sa zobrazí, ak značka produktu, 'čerstvé„bude hľadaný vo vyhľadávacom poli.

Záver:

V tomto návode je vysvetlený spôsob filtrovania údajov jednoduchej databázovej tabuľky pomocou sady dotazov. Údaje je možné filtrovať rôznymi spôsobmi. Čitatelia po prečítaní tohto návodu pochopia použitie sady dotazov na filtrovanie alebo vyhľadávanie údajov v prehliadači.

Kurzor pri písaní v systéme Windows 10 skáče alebo sa pohybuje náhodne
Ak zistíte, že kurzor myši skáče alebo sa pohybuje sám, automaticky a náhodne pri písaní na notebooku alebo počítači so systémom Windows, niektoré z t...
Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...
Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...