gpt4 book ai didi

database - sqlite 和 PostgreSQL 后端的 Django HTSQL TransactionManagementError

转载 作者:搜寻专家 更新时间:2023-10-30 20:11:18 26 4
gpt4 key购买 nike

我正尝试将 HTSQL 用于我的一个 Django 项目。为此,我遵循了给定的程序 HERE用于提供 HTSQL/Django 需求。然后我从 HERE 克隆了 HTSQL 存储库以尝试其中的示例/演示。 .演示示例中使用的默认数据库是 sqlite3。我已经在 Django v 1.4 和 Django v 1.3.1 上尝试过这个演示(必须在 settings.py 中为 Django v 1.3.1 做一些调整)。按照 HTSQL Django-gateway Blog 中的说明,我在django项目shell中写了如下代码:

>>> from htsql_django import produce
>>> query = "/polls_poll{question, total:=sum(polls_choice.votes)}"
>>> for row in produce(query):
>>> print "%s: %s" % (row.question, row.total)

它抛出以下错误:

TransactionManagementError: This code isn't under transaction management

整个错误跟踪可以在 pastebin 查看

我也在我自己的新项目上尝试过这个但是同样的错误。

最佳答案

当您从 Django shell 使用 HTSQL 时,您必须显式地打开一个事务:

>>> from django.db import transaction
>>> from htsql_django import produce
>>> with transaction.commit_on_success():
... query = "/polls_poll{question, total:=sum(polls_choice.votes)}"
... for row in produce(query):
... print "%s: %s" % (row.question, row.total)

很抱歉,文档对此并不清楚。我们可能会在未来的版本中更改它。

关于database - sqlite 和 PostgreSQL 后端的 Django HTSQL TransactionManagementError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12069384/

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