[英]How to do following sql operation using Table.select() method in python sqlobject?
[英]Print SQL generated by SQLObject
from sqlobject import *
class Data(SQLObject):
ts = TimeCol()
val = FloatCol()
Data.select().count()
失敗:
AttributeError: No connection has been defined for this thread or process
如何在不聲明連接的情況下獲取將生成的 SQL?
這是不可能的,原因有二。 第一, .count()
不僅生成一個查詢,它還執行它,所以它不僅需要一個連接,還需要一個數據庫和一個填充的表。 第二,可以為不同的后端生成不同的查詢(尤其是在引用字符串的區域),因此需要連接才能將查詢 object 呈現為字符串。
要使用累加器 function 生成查詢字符串,您需要重復生成查詢的代碼。 所以你的問題的完整解決方案是
#! /usr/bin/env python
from sqlobject import *
__connection__ = "sqlite:/:memory:?debug=1"
class Data(SQLObject):
ts = TimeCol()
val = FloatCol()
print(Data.select().queryForSelect().newItems("COUNT(*)"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.