- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有日期时间列的 msyql 表。我正在尝试使用 python 的 datetime.datetime.now() 并使用 sqlalchemy 核心插入其中。
from sqlalchemy import MetaData, create_engine, Table, insert
import datetime
# from sqlalchemy.sql import func
engine = create_engine('...')
conn = engine.connect()
tablemeta = MetaData(bind=engine, reflect=True)
datetime_test_table = Table('datetime_test', tablemeta, autoload=True,
autoload_with=engine)
ins = insert(datetime_test_table).values(datetime.datetime.now())
conn.execute(ins)
我收到以下错误:
AttributeError: 'datetime.datetime' 对象没有属性 'items'
我也尝试使用 func.now(),但出现了类似的错误。我应该使用什么对象来进行插入?
最佳答案
来自 the docs在 Insert.values()
要将值传递给 INSERT
语句,您可以使用关键字参数:
users.insert().values(name="some name")
或者您可以传递一个位置参数:
a dictionary, tuple, or list of dictionaries or tuples can be passed as a single positional argument
users.insert().values({"name": "some name"}) # passing a single dict
users.insert().values((5, "some name")) # passing a tuple (could be list too).
对于元组/值列表,SQLAlchemy 将通过遍历表列和值集合将其转换为字典。这是将单个位置参数处理为 .values()
( permalink ) 的函数:
def process_single(p):
if isinstance(p, (list, tuple)):
return dict(
(c.key, pval)
for c, pval in zip(self.table.c, p)
)
else:
return p # this is where it is assumed that your datetime object is a dict
因此,据记载,.values()
的单个位置参数可以是 dict
、list
或 中的任何一个tuple
在上面的函数中,你可以看到,如果你传递一个 list
或 tuple
值,它们会被转换成一个 dict
。如果您的单个位置参数 不是 list
或 tuple
,它会被简单地返回,假设它是一个 dict
(我已经在上面的示例中注释了该假设的位置)。
这就是导致您的错误的原因。您将一个位置参数传递给 .values()
,它既不是 list
也不是 tuple
,因此 SQLAlchemy 假定它是 字典
。但是,它不是 dict
,而是 datetime.datetime
实例。错误...
AttributeError: 'datetime.datetime' object has no attribute 'items'
...这只是 SQLAlchemy 在假设它是一个 dict
之后第一次对您的参数对象执行 dict
特定操作。
要解决您的问题,只需以可接受的格式传递值,其中任何一种都可以:
ins = insert(datetime_test_table).values((datetime.datetime.now(),))
ins = insert(datetime_test_table).values([datetime.datetime.now()])
ins = insert(datetime_test_table).values({'dt_col_name': datetime.datetime.now()})
ins = insert(datetime_test_table).values(dt_col_name=datetime.datetime.now())
关于python - SQLalchemy 插入 - AttributeError : object has no attribute 'items' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53582003/
我遇到了这两个错误,“AttributeError:在 DataLoader 工作进程 0 中捕获 AttributeError”,“AttributeError:模块“torchvision.tra
以下是我的代码。在最后一行中,我无法将Items[node.ind].v值设置为我想要的node.v,并收到错误。我不知道出了什么问题,但一定是基于语法,因为使用node.v+=1这样的语句也会显示相
我们准备了以下python脚本来显示word表格中的图片。 import matplotlib.pyplot as plt import pylab import win32com.client as
我需要一种方法来获取 TensorFlow 中任何类型层(即 Dense、Conv2D 等)的输出张量的形状。根据文档,有 output_shape 属性可以解决这个问题。但是,每次我访问它时,我都会
除了我之前的问题,关于如何在 Python 中打开 csv 文件,我仍然没有成功地做到这一点,并且从一个错误到另一个错误。 我的Python代码如下: @app.route("/admin", met
这是我在Google Colab中使用的代码。当我打这些电话的时候。我收到以下错误。这很奇怪。我以前从来没有见过这个问题。有没有人能帮我一下?我是不是做错了什么?
我想将Excel中的数据添加到词典中。但是,当我使用.append(TOTAL_SALES)时出现错误,当然,如果我使用+=TOTAL_SALES,则没有问题,只是我获得的是总和,而不是3个单独月份的
我想将Excel中的数据添加到词典中。但是,当我使用.append(TOTAL_SALES)时出现错误,当然,如果我使用+=TOTAL_SALES,则没有问题,只是我获得的是总和,而不是3个单独月份的
我正在尝试使用 gr_modtool.py 在 gnuradio 中创建一个新的 DSP 模块。 gnuradio 版本是 3.3.0。我在 include 文件夹中的 abc.h 文件中有以下代码
AttributeError:尝试在序列化器 UserKeywordSerializer 上获取字段 user 的值时出现 AttributeError。序列化程序字段可能命名不正确,并且与 Quer
我有以下使用Chatterbot第三方库的代码:。当我尝试使用代码时,从Visual Studio收到如下错误:。我安装了以下程序包:。我尝试了使用Python3.9和3.11以及Chatterbot
我有以下使用Chatterbot第三方库的代码:。当我尝试使用代码时,从Visual Studio收到如下错误:。我安装了以下程序包:。我尝试了使用Python3.9和3.11以及Chatterbot
我有以下使用Chatterbot第三方库的代码:。当我尝试使用代码时,从Visual Studio收到如下错误:。我安装了以下程序包:。我尝试了使用Python3.9和3.11以及Chatterbot
通常,当我尝试使用BeautifulSoup解析网页时,BeautifulSoup函数会得到NONE结果,否则就会引发AttributeError。。以下是一些独立的(即,由于数据是硬编码的,不需要访
通常,当我尝试使用BeautifulSoup解析网页时,BeautifulSoup函数会得到NONE结果,否则就会引发AttributeError。。以下是一些独立的(即,由于数据是硬编码的,不需要访
我试图配置预提交挂接,在运行预提交运行--所有文件时,我收到以下错误:。我已尝试升级pip以解决此问题pip安装--升级pip,但我收到另一个错误:。我尝试检查PIP和PIP3的版本,但现在我也收到了
我收到一个 AttributeError 我似乎无法解决。我正在处理两个类(class)。 第一个类就是这样。 class Partie: def __init__(self):
在 Django (1.4) 中迁移 South (0.7.5) 时,我遇到了这个错误。我最近将时区设置更改为 false,即 USE_TZ = False 以解决另一个问题。有任何想法吗?谢谢 ~/
当我尝试在两个序列化程序之间创建嵌套关系时出现 AttributeError。奇怪的是,我正在做与另一个 API 完全相同的事情,但这次我没有让它工作。这是代码: class UserSerializ
试图获得 manytomany django 中的关系,但我收到以下错误 - Got AttributeError when attempting to get a value for field n
我是一名优秀的程序员,十分优秀!