【发布时间】:2012-08-16 06:11:08
【问题描述】:
我的 Pyramid 应用中有这张桌子
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
.....
is_active = Column(Boolean, unique=False)
def __init__(self, name, raw_password):
is_active = True
当我进行测试时,它说is_active 是无。
def test_register_user(self):
user = User('user1', '1234')
self.sess.add(user)
self.sess.flush()
#print user
#self.assertTrue(user.is_active, True)
user_db_record = self.sess.query(User).filter_by(name=user.name).first()
self.assertEqual(user_db_record.is_active, True)
从我的集成日志中,我看到当我们创建行时,is_active 设置为无。为什么?
【问题讨论】:
-
如果有人来这里使用 SqlAlchemy 和 JetBrains 的 DataGrip 寻找答案,那么不要使用他们的可视化编辑器将值插入表中,它将忽略
default关键字并设置列的值为<null>。而是使用控制台中的原始 SQL 语句,然后将正确设置值。
标签: python sqlalchemy pyramid