Piton

Mi a Django ORM?

Mi a Django ORM?
A mai világban a technológia életünk szerves részévé vált, mivel minden körülöttünk digitalizálódott. Ez még az üzleti szférában is igaz. Azok a vállalkozások, amelyek nem alkalmazzák a megfelelő infrastruktúrát és nem képesek felszerelni a megfelelő technológiai architektúrát, végül lemaradnak versenytársaiktól. Ez főként azért van, mert manapság a vállalkozások és szervezetek elemzéséhez támaszkodó adatok mennyisége ugrásszerűen megnőtt, és ennek eredményeként ahhoz, hogy képesek legyenek hatékonyan feldolgozni és értelmezni azokat, megfelelő készletre van szükségük eszközök és infrastruktúra támogatására.

Az adatbázisok az egyik legnépszerűbb technológia, amelyet az adatok gyűjtésére és rendszerezésére használnak, mivel lehetővé teszik, hogy az adatok könnyen hozzáférhetőek, kezelhetők és frissüljenek. Ezekhez az adatbázisokhoz azonban kezelési rendszerre van szükség a feladatok elvégzéséhez. Leginkább az SQL nyelvet használják az adatbázisban végzett műveletek végrehajtására, azonban az alkalmazás növekedésével és bonyolultabbá válásával rendkívül nehéz elképzelni, hogy pontosan mit csinálnak az egyes műveletek. Itt jön a képbe az Object Relational Mapping (ORM) technika. Ez lehetővé teszi az adatok lekérdezését és manipulálását az Ön által választott objektum-orientált programozási nyelv segítségével. Az ORM-ek csökkentik a kód összetettségét és érthetőbbé teszik, ami viszont megkönnyíti a kód frissítését, karbantartását és újrafelhasználását.

Ebben a cikkben a Django ORM-et vesszük szemügyre, amely egy Python-alapú ORM, ezért a napjainkban használt egyik legnépszerűbb technológia.

Mi az a Django?

Mielőtt továbblépnénk a Django ORM-jére, először nézzük meg, mi is valójában ez a Django nevű Pythonikus technológia.

A Django egy ingyenes és nyílt forráskódú webkeret, amelyet Pythonban terveztek, ezért nagyon tiszta és letisztult kialakítású, egyszerű, rugalmas, megbízható és méretezhető. Rendkívül megkönnyíti a webfejlesztők dolgát, mivel kész komponensekkel látja el a felhasználókat, amelyek viszont megakadályozzák őket abban, hogy mindent a semmiből írjanak, ennek eredményeként gyorsabbá tegyék munkájukat és csökkentsék a weboldaluk általános költségeit. Ezenkívül rendkívül biztonságos, és segít a felhasználóknak elkerülni a biztonsági aggályokat, mint például a felhasználói felület javítási támadásai, SQL injekciók stb. Rendkívül nagy közösséggel is rendelkezik, amely mindig elérhető a fórumokon keresztül, és mindig kész felajánlani segítségét másoknak.

Most nézzük meg végre a Django ORM-et és néhány főbb jellemzőjét.

Hozzáférés a Django ORM-hez

A Django telepítése és a projekt beállítása után általában a következő kezdeti fájlokat kapjuk meg:

Az itt található mysite a létrehozott projekt nevére utal. Mindezeknek a fájloknak saját felhasználása van, és fontos, hogy ismerni kell az egyes fájlok szerepét. Itt az irányításra összpontosítunk.py fájl, amely sokféle dolgot fog irányítani számunkra, például egy szerver felállítását, migrálást, kommunikációt egy adatbázissal, valamint az ORM módba való belépést.

A Django ORM megnyitásához nyisson meg egy parancssort a Django projekt főkönyvtárából, és futtassa a következő parancsot:

$ python kezelése.py héja

Ez egy interaktív héjat nyit meg számunkra, amely lehetővé teszi számunkra, hogy az ORM használatával elkezdjünk kölcsönhatásba lépni az adatbázissal.

Az adatbázis kezelése lekérdezések segítségével a Django ORM-ben

Mivel az ORM lehetővé teszi számunkra, hogy kölcsönhatásba lépjünk az adatbázissal, most különféle lekérdezéseket írhatunk az adatok lekérésére és kezelésére az adatbázisból. Mielőtt azonban elkezdhetnénk a héjban lévő adatbázis kidolgozását, először be kell importálnunk az összes hozzá társított modellt. Ezt úgy tehetjük meg, hogy egyszerűen futtatunk egy parancsot az interaktív shellben, az alábbiak szerint:

$ from appName.modellek import modelName

Itt az appName az Ön által létrehozott alkalmazás nevére utal, így a modelljeit jelenleg tárolják. A modelName az importálni és használni kívánt modell nevére utal. Itt több modellt importálhat, amint az az alábbi példában látható:

Most hozzáférhet a modellobjektumhoz, és adatokat olvashat el belőle. Például, ha az összes bejegyzés listáját akarjuk, egyszerűen megszerezhetjük őket, ha a következő parancsot futtatjuk a terminálunkba:

$ Post.tárgyakat.minden()

A következő a fenti parancs eredménye:

Az ORM-ben számos más típusú dolgot is megtehetünk, például új adatbázis-adatok létrehozásával, az adatok frissítésével és az összes többi adatbázis-paranccsal.

Adatbázis modellezés

Az egyik legjobb dolog, amit a Django ORM nyújt a felhasználóinak, az a képesség, hogy automatikusan összekapcsolja és kapcsolatot teremtsen a modell objektumának attribútumai és a megfelelő táblamezők között. Az adatbázisokban főleg három típusú kapcsolat létezik. ezek az egy-egy kapcsolat, a sok-sok vagy sok-sok kapcsolat és a sok-sok kapcsolat.

A "One-to-One" kapcsolat, amint a neve is mutatja, ahol az egyik tábla rekordja megfelel egy másik tábla egyetlen rekordjának. A Django ORM-ben ezt könnyen megállapíthatjuk, például az alábbiak szerint:

osztály Szülő (modellek.Modell):
felhasználó = modellek.OneToOneField (
Felhasználó,
on_delete = modellek.VÍZESÉS,
primary_key = Igaz,
)
apja neve = modellek.CharField (max_hossz = 100)
anya neve = modellek.CharField (max_hossz = 100)

Itt minden felhasználónak csak egyedülálló biológiai szülei lehetnek, ezért ez egy-egy kapcsolat. Ha törölünk bármely felhasználót, aki hozzáfér ehhez a modellhez, akkor a 2 modelljét is törlind felhasználó, mivel függenek egymástól.

Az egy a sokhoz vagy a sok az egyhez olyan kapcsolatra utal, ahol a szülői nyilvántartásnak több gyermekrekordja lehet, azonban csak egy vagy egy sem lehet gyermeke. A Django ORM-ben könnyen létrehozhatjuk ezt a kapcsolatot a Idegen kulcs terület:

osztály Ügyfél (modellek.Modell):
név = modellek.CharField (max_hossz = 255)
osztályú jármű (modellek.Modell):
ügyfél = modellek.Idegen kulcs(
Vevő,
on_delete = modellek.VÍZESÉS
)

Amint az a fenti kódban látható, az ügyfélnek több járműve lehet.

Végül a sok-sok kapcsolat meghatározza azt a kapcsolatot, ahol több tábla kapcsolódhat egymáshoz. Ezt létrehozhatjuk a ManyToMany terület. Az alábbi példában két modellt hoztunk létre, az egyiket a felhasználónak, a másikat a bejegyzéseiknek. Több felhasználó is lehet, mivel minden felhasználónak több bejegyzése lehet.

osztály Felhasználó (modellek.Modell):
post = modellek.ManyToManyField (Bejegyzés, üres = Igaz)
barátok = modellek.ManyToManyField (beállítások.AUTH_USER_MODEL, üres = Igaz)
osztályú Post (modellek.Modell):
post = modellek.TextField ()
kedvel = modellek.ManyToManyField (beállítások.AUTH_USER_MODEL, üres = True, related_name = 'user_likes')

Következtetés

A Django ORM egy rendkívül hatékony eszköz, és így sokkal könnyebbé tette a webfejlesztők munkáját. Számos olyan funkcióval rendelkezik, mint az adatbázis-modellek manipulálása, a modellek közötti kapcsolat kialakítása és még sok más. Dióhéjban a Django ORM az egyik legjobb dolog, ami Djangóval együtt jár, és nagyon hatékony a számára biztosított munkában.

Sid Meier Civilization VI letöltése és lejátszása Linuxon
Bevezetés a játékba A Civilization 6 egy modern felvétel a Age of Empires játékok sorozatában bevezetett klasszikus koncepcióra. Az ötlet meglehetősen...
A Doom telepítése és lejátszása Linuxon
Bevezetés a Doom-ba A Doom sorozat a 90-es években keletkezett az eredeti Doom megjelenése után. Azonnali sláger volt, és ettől kezdve a játéksorozat ...
Vulkan Linux felhasználók számára
A grafikus kártyák minden új generációjával azt látjuk, hogy a játékfejlesztők átlépik a grafikus hűség határait, és egy lépéssel közelebb kerülnek a ...