Sobes.tech
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.