Как сделать SQL запрос в Джанго?

Мне необходимо выполнить запрос вида

DELETE FROM django_migrations WHERE app='название_приложения';

для очистки от миграций таблицы django_migrations. Но как это сделать в Django?

Пользуюсь самописной функцией во всех своих проектах:

def sql (req, returnid = False):
    import sqlite3 as sqlite
    connection = sqlite.connect('db.sqlite3') # Название БД рядом с файликом manage.py
    cursor = connection.cursor()
    cursor.execute (str (req))
    connection.commit()
    if returnid == False:
        rows = cursor.fetchall ()
    else:
        rows = cursor.lastrowid
    cursor.close()
    connection.close()
    return rows

Вызывается просто:

sql ("DELETE FROM django_migrations WHERE app='название_приложения'")

Первый аргументом передаете сам SQL-запрос и если есть что вернуть, то функция вернет (для SELECT, например). Вторым аргументом можно передать значение True и тогда функция вернет id новой записи (для INSERT).

Вернуться на верх