新SQLAlchemy添加记录错误

新SQLAlchemy添加记录错误,sqlalchemy,Sqlalchemy,炼金术新手 我在添加记录时遇到问题。我在教程之后为add建模,该教程传递了多个值(尽管是硬编码的值)。附件是例程和错误 StackOverflow认为我的“解释与代码”比率为关,所以我添加了额外的解释,以便提交查询 import pdb from table import wrl from sqlalchemy import or_, and_, desc, asc from sqlalchemy import create_engine from sqlalchemy.orm import s

炼金术新手

我在添加记录时遇到问题。我在教程之后为add建模,该教程传递了多个值(尽管是硬编码的值)。附件是例程和错误

StackOverflow认为我的“解释与代码”比率为关,所以我添加了额外的解释,以便提交查询

import pdb
from table import wrl
from sqlalchemy import or_, and_, desc, asc
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

rs = create_engine('credentials', echo=True)
aws = create_engine('credentials', echo=True)

rs_session = sessionmaker(bind=rs)
aws_session = sessionmaker(bind=aws)

rs = rs_session()
aws = aws_session()

# pdb.set_trace()

y = rs.query(wrl).order_by(wrl.UUID_PK).first()

cat = y.Added_Timestamp    #now we have the oldest record time stamp value

query_string = cat[:8]+"%"      #now we have the oldest record's date i.e. substring(20111215_121212;1;8)

move_me = rs.query(wrl).filter(wrl.Added_Timestamp.like(query_string)).limit(10)
pdb.set_trace()

for x in move_me:
#     pdb.set_trace()
    wrl_rec = wrl(x.UUID_PK,
                x.Web_Request_Headers,
                x.Web_Request_Body,
                x.Current_Machine,
                x.Current_Machine,
                x.ResponseBody,
                x.Full_Log_Message,
                x.Remote_Address,
                x.basic_auth_username,
                x.Request_Method,
                x.Request_URI,
                x.Request_Protocol,
                x.Time_To_Process_Request,
                x.User_ID,
                x.Error,
                x.Added_Timestamp,
                x.Processing_Time_Milliseconds,
                x.mysql_timestamp)
    aws.add(wrl_rec)
    aws.commit()
    print 'added %s ' %  x.UUID_PK


Traceback (most recent call last):
  File "migrate.py", line 47, in <module>
    x.mysql_timestamp)
TypeError: __init__() takes exactly 1 argument (19 given)
感谢您的任何建议。

问题实际上与SA无关。我猜想你的构造器是wrl.\uuuuu init\uuuuu self。。。未定义或不接受任何位置参数,您在wrl_rec中创建此对象时尝试指定这些参数

因此,基本上,错误消息基本上表明了您的问题


另一方面,order_bywrl.UUID_PK是否真的像下面几行注释所示,按时间戳返回最早的记录?不知何故,我非常怀疑这一点。

什么是wrl?从表导入wrl这是您的模块还是任何python模块?这是我的表定义。对不起,我对这个很陌生,我不知道我不知道什么。这就是问题所在。谢谢。我会检查,呃,添加不存在的init函数,看看它能做什么。关于order_by,你是对的。为了其他测试目的调整了它,但没有取消。谢谢