繁体   English   中英

如何从python命令行列出/添加节点到我的Pylon应用程序?

[英]How can I list/add Nodes to my Pylon App from python command line?

我有一个继承的Pylons应用程序。 它有一个MySQL数据库。 应用程序中有一个称为Node的模型。 我想首先列出数据库中的所有节点。 然后,我希望能够添加一个节点。 到目前为止,我一直在尝试:

import myapp.model as model
nodes = model.Session.query(model.Node).all()
for node in nodes:
    print node

上面的代码抛出,我在这样的其他问题已经看到了一个错误一个

Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.4/site-packages/sqlalchemy/orm/query.py", line 1579, in all
    return list(self)
  File "/usr/lib/python2.4/site-packages/sqlalchemy/orm/query.py", line 1689, in __iter__
    return self._execute_and_instances(context)
  File "/usr/lib/python2.4/site-packages/sqlalchemy/orm/query.py", line 1694, in _execute_and_instances
    mapper=self._mapper_zero_or_none())
  File "/usr/lib/python2.4/site-packages/sqlalchemy/orm/session.py", line 717, in execute
    engine = self.get_bind(mapper, clause=clause, **kw)
  File "/usr/lib/python2.4/site-packages/sqlalchemy/orm/session.py", line 851, in get_bind
    raise sa_exc.UnboundExecutionError(
sqlalchemy.exc.UnboundExecutionError: Could not locate a bind configured on mapper Mapper|Node|node, SQL expression or this Session

我感觉好像错过了一步之类的东西。 我习惯在Django中使用模型,这是我第一次使用Pylon应用程序。 我认为这与Sessions有关,但我不确定。 有谁知道我可以列出所有节点然后添加一个节点吗?

我发现那是错的。 我从未与数据库建立会话:

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
import myapp.model as model

engine = create_engine("mysql://username:password@localhost/myapp")
conn = engine.connect()
session = Session(bind=conn)
nodes = session.query(model.Node).all()
for node in nodes:
    print node

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM