gpt4 book ai didi

django - 从python内部执行Django的sqlsequencereset代码

转载 作者:行者123 更新时间:2023-12-04 02:38:13 25 4
gpt4 key购买 nike

Django的sqlsequencereset命令返回重置数据库中序列所需的SQL命令。

默认情况下,其他类似的管理命令会自动执行SQL(并且仅在指定--dry-run选项时才打印输出)。

在命令行中,您可以使用以下命令执行返回的命令:

python manage.py sqlsequencereset app1_name app2_name | python manage.py dbshell

但是...有没有办法从python内部直接从 sqlsequencereset执行返回的代码?

最佳答案

您可以通过这种方式(使用默认数据库)从python内部执行sqlsequencereset生成的SQL查询:

from django.core.management.color import no_style
from django.db import connection

from myapps.models import MyModel1, MyModel2


sequence_sql = connection.ops.sequence_reset_sql(no_style(), [MyModel1, MyModel2])
with connection.cursor() as cursor:
for sql in sequence_sql:
cursor.execute(sql)

我使用 Python3.6 Django 2.0 PostgreSQL 10 测试了此代码。

关于django - 从python内部执行Django的sqlsequencereset代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43663588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com