0

django 管理命令之一是“sql_custom”,它打印指定应用程序定义的所有自定义 sql。我不想打印它,而是想从 django中执行它。还有其他命令可以让我这样做吗?让我补充一点,“syncdb”不是答案,因为它会做许多其他(我不想要的)事情。

4

2 回答 2

0

django.core.management.sql一个函数sql_custom“返回给定应用程序修改 SQL 语句的自定义表列表”。

from django.core.management.sql import sql_custom
from django.db import connection

# List of the custom table modifying SQL statements for all apps.
l = sql_custom('', None, connection)
sql = " ".join(l)

cursor = connection.cursor()
cursor.execute(sql)

https://docs.djangoproject.com/en/dev/topics/db/sql/#executing-custom-sql-directly

于 2013-10-09T14:02:01.073 回答
0

你是这个意思吗?

https://docs.djangoproject.com/en/dev/topics/db/sql/

>>> for p in Person.objects.raw('SELECT * FROM myapp_person'):
...     print(p)
John Smith
Jane Jones
于 2013-10-09T13:25:25.017 回答