http://docs.python.org/2/howto/logging.html上的示例使用warn和warning.
金字塔项目中有development.ini或production.ini.我在ini文件中添加自己的配置数据,如:
[thrift]
host = 0.0.0.0
port = 8080
Run Code Online (Sandbox Code Playgroud)
我想在项目中的一个py文件中使用配置数据.如何在没有请求对象的情况下获取数据?(我见过一个使用请求的解决方案.)
我有一个像这样的SQL:
DBSession().query(Model).filter(***)
Run Code Online (Sandbox Code Playgroud)
我想用这个解释这个sql SQLAlchemy.
我的代码如下:
s = DBSession()
r = s.query(Food, FoodCategory).filter(Food.category_id == FoodCategory.id).first()
Run Code Online (Sandbox Code Playgroud)
此查询引发异常:
sqlalchemy.exc.InvalidRequestError: Ambiguous column name 'food.category_id' in result set
Run Code Online (Sandbox Code Playgroud)
我已经在mysql db中直接尝试了查询,它可以很好地工作.我还打印sqlalchey查询.是的,有相同的标签,"food.category_id as food_category_id"和"food_category.id as food_category_id".
我怀疑现在这个查询对mysql有效,为什么它对sqlalchemy无效
我想用pymongo做一个正则表达式mongodb查询.
cond = {'date':'/.*2011-8-11.*/'}
coll.find(cond).count() return 0;
Run Code Online (Sandbox Code Playgroud)
但我直接在Mongodb返回25上执行此查询; 我的查询有问题吗?
# I've set echo=True when doing create_engine, so I can see all the sql stmt
# DBSession is ScopeSession(thread_local) and autocommit is False
session = DBSession()
session.add(somemodel)
#
try:
session.flush()
raise Exception()
session.commit()
except SQLAlchemyError as e:
session.rollback()
finally:
session.close()
Run Code Online (Sandbox Code Playgroud)
根据 SQLAlchemy 文档:
The close() method issues a expunge_all(), and releases any transactional/connection
resources. When connections are returned to the connection pool, transactional state is
rolled back as well.
Run Code Online (Sandbox Code Playgroud)
我希望在执行“session.close()”时看到日志“rollback”
它有时发生在我的产品env上(大部分时间都可以).我怀疑它是否与sessionmaker func中的参数'expire_on_commit'有关
@close_session
def func():
session = DBSession() # scoped_session, thread_local
m = Model()
m.content = 'content'
session.add(m)
try:
session.commit()
except SQLAlchemyError as e:
session.rollback()
raise_my_exception()
return m.id
Run Code Online (Sandbox Code Playgroud)
close_session是一个装饰器,它将在'finally'部分中执行'DBSession().close()'.ObjectDeleteError发生在"return m.id"行中
SQLAlchemy配置:
engines = {
'master': create_engine(
settings.MASTER_URL, echo=settings.ECHO_SQL, pool_recycle=3600),
'slave': create_engine(
settings.SLAVE_URL, echo=settings.ECHO_SQL, pool_recycle=3600),
}
class RoutingSession(Session):
def get_bind(self, mapper=None, clause=None):
#return engines['master']
if self._flushing:
return engines['master']
else:
return engines['slave']
DBSession = scoped_session(sessionmaker(class_=RoutingSession))
Run Code Online (Sandbox Code Playgroud)
ObjectDeletedError文档:
class ObjectDeletedError(sqlalchemy.exc.InvalidRequestError)
| A refresh operation failed to retrieve the database
| row corresponding to …Run Code Online (Sandbox Code Playgroud) 我想在Mongodb中使用几何体.
但根据geojson.org,geojson不支持circle