方法调用中的参数“ dml”没有值

时间:2019-01-03 22:49:55

标签: python sqlalchemy visual-studio-code

我正在尝试建立一个数据库,该数据库将基于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)

1 个答案:

答案 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)