Pyton

Co to jest Django ORM?

Co to jest Django ORM?
W dzisiejszym świecie technologia stała się integralną częścią naszego życia, ponieważ wszystko wokół nas zostało zdigitalizowane. Dotyczy to również sektora biznesowego. Firmy, które nie wykorzystują odpowiedniej infrastruktury i nie są w stanie wyposażyć odpowiedniej architektury technologicznej, zostają w tyle za konkurencją. Dzieje się tak głównie dlatego, że w dzisiejszych czasach ilość danych, na których opierają się firmy i organizacje do ich analizy, wzrosła wykładniczo i w rezultacie, aby móc je przetwarzać i interpretować w sposób efektywny, muszą mieć odpowiedni zestaw narzędzi i infrastruktury do ich obsługi.

Bazy danych są jedną z najpopularniejszych technologii wykorzystywanych do gromadzenia i organizowania danych, ponieważ pozwalają na łatwy dostęp do danych, zarządzanie i aktualizację. Jednak te bazy danych wymagają systemu zarządzania, aby mogły wykonywać te zadania. Przeważnie język SQL służy do wykonywania operacji w bazie danych, jednak wraz ze wzrostem i złożonością aplikacji niezwykle trudno jest mieć wyobrażenie o tym, co dokładnie robi każda operacja. W tym miejscu pojawia się technika Object Relational Mapping (ORM). Pozwala to na wykonywanie zapytań i manipulowanie danymi przy użyciu wybranego przez Ciebie języka programowania obiektowego. ORM zmniejszają złożoność kodu i czynią go bardziej zrozumiałym, co z kolei ułatwia aktualizację, utrzymanie i ponowne wykorzystanie kodu.

W tym artykule przyjrzymy się Django ORM, który jest ORM opartym na Pythonie i dlatego jest jedną z najpopularniejszych obecnie używanych technologii.

Co to jest Django?

Zanim przejdziemy do przyjrzenia się ORM Django, najpierw zobaczmy, czym właściwie jest ta technologia Pythona o nazwie Django.

Django to darmowa platforma internetowa o otwartym kodzie źródłowym zaprojektowana w Pythonie, dlatego ma bardzo przejrzysty i schludny projekt, a także jest prosty, elastyczny, niezawodny i skalowalny. Ułatwia to programistom stron internetowych, ponieważ dostarcza użytkownikom gotowe komponenty, co z kolei uniemożliwia im pisanie wszystkiego od zera, a w rezultacie przyspiesza ich pracę i zmniejsza obciążenie strony internetowej. Oprócz tego jest wyjątkowo bezpieczny i pomaga użytkownikom uniknąć problemów związanych z bezpieczeństwem, takich jak ataki związane z przywracaniem interfejsu użytkownika, wstrzykiwanie SQL itp. Ma również niezwykle dużą społeczność, która jest zawsze dostępna za pośrednictwem forów i zawsze gotowa do zaoferowania swojej pomocy innym.

Przyjrzyjmy się teraz wreszcie Django ORM i niektórym z jego głównych funkcji.

Dostęp do ORM Django

Po zainstalowaniu Django i skonfigurowaniu jego projektu zazwyczaj otrzymujemy następujące pliki początkowe:

mysite tutaj odnosi się do nazwy projektu, który utworzyłeś. Wszystkie te pliki mają swoje własne zastosowania i ważne jest, aby wiedzieć, jaką rolę odgrywa każdy plik. Skupiamy się tutaj na zarządzaniu.plik py, który będzie dla nas kontrolował wiele różnych rzeczy, takich jak konfiguracja serwera, wykonywanie migracji, komunikowanie się z bazą danych, a także wejście w tryb ORM.

Aby otworzyć Django ORM, otwórz wiersz poleceń z głównego katalogu swojego projektu Django i uruchom następujące polecenie:

$ zarządzanie pythonem.py shell

Otworzy to dla nas interaktywną powłokę, która pozwoli nam rozpocząć interakcję z bazą danych za pomocą ORM.

Manipulowanie bazą danych za pomocą zapytań w Django ORM

Ponieważ ORM pozwala nam na interakcję z bazą danych, możemy teraz pisać różne zapytania, aby pobierać i manipulować danymi z bazy danych. Zanim jednak zaczniemy pracę nad bazą danych w powłoce, najpierw musimy zaimportować wszystkie powiązane z nią modele. Można to zrobić po prostu uruchamiając polecenie w interaktywnej powłoce, jak pokazano poniżej:

$ z nazwy aplikacji.modele importują nazwa modelu

Tutaj appName odnosi się do nazwy Twojej aplikacji, którą utworzyłeś, a zatem gdzie aktualnie przechowywane są Twoje modele. ModelName odnosi się do nazwy modelu, który chcesz zaimportować i używać. Tutaj możesz zaimportować wiele modeli, jak widać na poniższym przykładzie:

Teraz możesz uzyskać dostęp do obiektu modelu i odczytać z niego dane. Na przykład, jeśli chcemy listę wszystkich postów, możemy je po prostu pobrać, uruchamiając następujące polecenie w naszym terminalu:

$ Poczta.przedmioty.wszystko()

Oto wynik powyższego polecenia:

Możemy zrobić kilka innych rzeczy w ORM, takich jak tworzenie nowych danych bazy danych, aktualizowanie danych i wszystkie inne polecenia bazy danych, które możesz.

Modelowanie baz danych

Jedną z najlepszych rzeczy, jakie Django ORM zapewnia swoim użytkownikom, jest możliwość automatycznego łączenia i ustanawiania relacji między atrybutami obiektu Twojego modelu a odpowiednimi polami tabeli. W bazach danych istnieją głównie trzy rodzaje relacji. są to relacje jeden-do-jednego, relacje jeden-do-wielu lub wiele-do-jednego oraz relacje wiele-do-wielu.

Relacja jeden-do-jednego to, jak sama nazwa wskazuje, gdzie rekord jednej tabeli odpowiada pojedynczemu rekordowi innej tabeli. W Django ORM możemy to łatwo ustalić w następujący sposób:

klasa Rodzic(modele.Model):
użytkownik = modele.Jedno na jedno pole (
Użytkownik,
on_delete=modele.KASKADA,
primary_key=prawda,
)
imię_ojca = modele.Pole znaku(max_length=100)
imię_matki = modelki.Pole znaku(max_length=100)

Tutaj każdy użytkownik może mieć tylko jednego biologicznego rodzica, a zatem jest to relacja jeden-do-jednego. Teraz, jeśli usuniemy dowolnego użytkownika uzyskującego dostęp do tego modelu, usunie to również model 2znaleźć użytkownik, ponieważ są od siebie zależni.

Jeden-do-wielu lub wiele-do-jednego odnosi się do relacji, w której rekord nadrzędny może mieć kilka rekordów podrzędnych, jednak może również mieć tylko jedno dziecko lub nie mieć go wcale. W Django ORM możemy łatwo nawiązać tę relację za pomocą Klucz obcy pole:

klasa Klient (modele).Model):
nazwa = modele.Pole znaku(max_length=255)
Klasa pojazdu (modele).Model):
klient = modele.Klucz obcy(
Klient,
on_delete=modele.KASKADA
)

Jak widać w powyższym kodzie, klient może mieć wiele pojazdów.

Wreszcie relacje wiele-do-wielu definiują relację, w której wiele tabel może być ze sobą powiązanych. Możemy to stworzyć za pomocą Wiele do wielu pole. W poniższym przykładzie stworzyliśmy dwa modele, jeden dla użytkownika, a drugi dla jego postów. Może być wielu użytkowników, ponieważ każdy użytkownik może mieć wiele postów.

klasa Użytkownik(modele.Model):
słupek = modelki.ManyToManyField(Post, blank=True)
przyjaciele = modele.ManyToManyField (ustawienia.AUTH_USER_MODEL, puste = prawda)
klasa Post (modele.Model):
słupek = modelki.Pole tekstowe()
polubienia = modele.ManyToManyField (ustawienia.AUTH_USER_MODEL, blank=True, related_name='user_likes')

Wniosek

Django ORM to niezwykle potężne narzędzie, które znacznie ułatwiło pracę programistom internetowym. Posiada wiele funkcji, takich jak manipulacja modelami baz danych, nawiązywanie relacji między modelami i wiele więcej. Krótko mówiąc, Django ORM jest jedną z najlepszych rzeczy dostarczanych z Django i jest bardzo skuteczny w wykonywanej pracy.

Gry How to Install and Play Doom on Linux
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Gry Vulkan for Linux Users
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
Gry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...