Sobes.tech
Junior — Middle

Have you ever written SQL queries yourself when creating or processing URLs in Django?

sobes.tech AI

Answer from AI

In Django, the ORM is usually used for database operations, allowing you to create and handle URLs and data without writing SQL queries manually. However, in some cases, such as optimization or executing complex queries, you can write your own SQL queries.

For this, Django provides methods, for example, raw() for executing raw SQL queries:

from myapp.models import MyModel

queryset = MyModel.objects.raw('SELECT * FROM myapp_mymodel WHERE some_field = %s', [value])

You can also use connection.cursor() to execute arbitrary SQL commands:

from django.db import connection

with connection.cursor() as cursor:
    cursor.execute('SELECT * FROM myapp_mymodel WHERE some_field = %s', [value])
    rows = cursor.fetchall()

Thus, sometimes you have to write SQL manually, but most of the time, the ORM capabilities are sufficient.

Have you ever written SQL queries yourself when… - sobes.tech