我正在尝试建立一个数据库,该数据库将基于ID号存储故事信息。目前,我正在努力将这些信息放入表格中。我正在学习python和sql,所以请在这里忍受。
Pylint告诉我,对title.insert()的引用存在以下错误,我只是根据文档无法弄清我在这里缺少什么:
方法调用中参数'dml'没有值
from ao3 import AO3
api = AO3()
work = api.work(id='1234')
from sqlalchemy import create_engine
engine = create_engine('sqlite:///ficrec.db', echo=True)
from sqlalchemy import Table, Column, Integer, String, MetaData
metadata = MetaData()
title = Table('title', metadata,
Column('id', Integer, primary_key=True),
Column('title', String(256))
)
author = Table('author', metadata,
Column('id', Integer, primary_key=True),
Column('author', String(128))
)
ins = title.insert().values(id=work.id, title=work.title)
答案 0 :(得分:3)
我遇到了同样的问题。基本上,insert()需要一个dml
参数。
由于未提供,因此pylint抱怨如下错误。
[pylint] No value for argument 'dml' in method call [E1120]
通过不提供dml似乎没有功能问题。
在简短检查源代码的基础上,dml
由装饰器生成
@util.dependencies("sqlalchemy.sql.dml")
def insert(self, dml, values=None, inline=False, **kwargs):
"""Generate an :func:`.insert` construct against this
:class:`.TableClause`.
E.g.::
table.insert().values(name='foo')
See :func:`.insert` for argument and usage information.
"""
return dml.Insert(self, values=values, inline=inline, **kwargs)
就我而言,为了继续前进,我现在将None值传递给insert()。 我不确定这是个好主意。 希望SQLAlchmey社区能够解决此问题。
对您来说,尝试这种方式。
ins = title.insert(无).values(id = work.id,title = work.title)