2
當試圖訪問數據庫時,我無法訪問該列,我已經多次運行init數據庫腳本,代碼如下:金字塔:OperationalError 1054,「字段列表中的未知列'XX'
查看
from .models import Session, Admin
@view_config(route_name='admin', renderer='templates/admin.pt')
def admin(request):
session = Session()
user = authenticated_userid(request)
admin = bool(session.query(Admin).filter_by(username = user).first())
message = ''
if admin:
if 'form.submitted' in request.params:
session.add(Admin(request.params['admin']))
session.commit()
message = "%s has been added as an Admin!" % request.params['admin']
return dict(url=request.route_url('admin'),
message = message,
)
return dict(message = message)
else:
return HTTPForbidden()
模型
class Admin(Base):
__tablename__='admins'
__table_args__={
'mysql_engine':'InnoDB',
'mysql_charset':'utf8',
}
username = Column(String(255), ForeignKey('users.username'), primary_key=True)
def __init(self, user):
self.username = user
對於那些想知道的人,我所做的是修改init db腳本以使用Base.metadata.drop_all(engine)函數刪除所有表,並且它會刪除所有表,而不是數據庫本身,從而使其更快。 – Wiz