Junior — Middle
Amikor URL-eket hozott létre vagy dolgozott a Django-ban, saját magának kellett SQL-lekérdezéseket írnia az adatbázissal való munka érdekében?
sobes.tech MI
Válasz az MI-től
Django-ban általában az ORM-et használják az adatbázissal való munkához, amely lehetővé teszi URL-ek és adatok létrehozását és kezelését SQL-lekérdezések kézi írása nélkül. Azonban bizonyos esetekben, amikor optimalizációra vagy összetett lekérdezések végrehajtására van szükség, saját SQL-lekérdezéseket írhatunk.
Ehhez a Django olyan módszereket kínál, mint például a raw(), amely lehetővé teszi nyers SQL-lekérdezések végrehajtását:
from myapp.models import MyModel
queryset = MyModel.objects.raw('SELECT * FROM myapp_mymodel WHERE some_field = %s', [value])
Szintén használható a connection.cursor() az önálló SQL-parancsok végrehajtására:
from django.db import connection
with connection.cursor() as cursor:
cursor.execute('SELECT * FROM myapp_mymodel WHERE some_field = %s', [value])
rows = cursor.fetchall()
Így néha szükség van arra, hogy kézzel írjunk SQL-t, de a legtöbb esetben az ORM képességei elegendőek.