django管理命令之一是'sql_custom',其中 PRINTS 为指定的应用程序定义了所有自定义sql。而不是打印它我想从django EXECUTE 它。有没有其他命令允许我这样做?让我添加'syncdb'不是一个答案,因为它做了很多其他的(我不需要的)事情。
答案 0 :(得分: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
答案 1 :(得分: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