我在玩用sqlalchemy和pylons制作一个简单的俳句网站。它基本上需要一个俳句,把它写到数据库中,然后显示俳句。当我从表单中获取数据并尝试将其写入数据库时,问题就出现了,Pylons给出了一个错误:AttributeError:“tuple”对象在我运行这行代码后没有属性“insert”:ins=自我俳句表.insert(值=表单字典)
主代码:
import logging
from pylons import request, response, session, tmpl_context as c
from pylons.controllers.util import abort, redirect_to
from myku.lib.base import BaseController, render
from sqlalchemy.sql import select
import meta
import myku.lib.helpers as h
log = logging.getLogger(__name__)
class IndexController(BaseController):
def __init__(self):
self.haiku_table = meta.haiku_table
self.conn = meta.engine.connect()
BaseController.__init__(self)
def index(self, genre, title):
ss = select([self.haiku_table], self.haiku_table.c.genre==str(genre).lower(), self.haiku_table.c.title==str(title).lower())
result = self.conn.execute(ss)
return result
def new_haiku(self):
return render('/newku.html')
def submit(self):
title = request.params.get('title')
haiku = request.params.get('haiku')
genre = request.params.get('genre')
author = request.params.get('author')
form_dict = {'title': title, 'haiku': haiku, 'genre': genre, 'author': author}
ins = self.haiku_table.insert(values=form_dict)
result = self.conn.execute(ins)
return res
以及元文件的代码:
^{pr2}$有什么想法吗? 我不知道
好吧,看起来您在创建
haiku_table
,在尝试使用.insert函数之前,没有对它做任何其他操作,而这个函数显然不是元组的一部分看起来,当您使用SQLAlchemy创建表时,您需要以下格式:
您还需要从sqlachlemy模块导入
Table
。在这使得俳句表成为SQLAlchemy的一个表实例,而不仅仅是一个元组。我想这就是你所缺少的。在
相关问题 更多 >
编程相关推荐