如何将 sqlite 数据库值传递给控制器
How to pass sqlite db values to controller
sqlite、web2py 新手。我正在尝试将 sqlite 数据库内容复制到控制器以实现另一个功能。
我的代码是这些:
db.py
auth.define_tables(username=False, signature=False)
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True
db.define_table('chat',
Field('me_from'),
Field('me_body', 'text'),
默认值:
@auth.requires_login()
def index():
chats.index(db)
body = db.chat.me_body()
rows = db(db.chat.me_body).select()#(orderby=~db.chat.me_body.created_on)
form1 = [body]
form5 = form1#.split()
name3 = ' '.join(form5)
我想检索发布到数据库的字符串..
chat.id chat.me_from chat.me_body chat.me_html
1
2 maurice hi <div class="m...
3 maurice whats up <div class="m...
4 maurice where are you. <div class="m...
5 maurice 3i5ejp[eoityjdt <div class="m...
6 maurice how are you d...<div class="m...
7 maurice britam <div class="m...
从上面的 table 中,我想从 chat.me_body 中检索发布的单词,例如 'hi'、'whats up'、'britam'...默认功能。相反,我不断收到以下错误:
如果我使用:
body = db.chat.me_body()
错误是:
TypeError: 'Field' object is not callable
如果我使用:
`body = db.chat.me_body
错误是:
TypeError: sequence item 0: expected string, Field found
如果我使用行:
rows = db(db.chat.me_body).select()
和
form1 = [rows]
错误是:
name3 = ' '.join(form5)
TypeError: sequence item 0: expected string, Rows found
我会感谢你的帮助
查询从数据库中获取记录的正确方法是:
rows = db(db.chat).select(db.chat.me_body, db.chat.created_on,
orderby=~db.chat.created_on)
注意,对于查询 db(db.chat.id != None)
(即选择 table 中的所有记录),db(db.chat)
是 shorthand。
然后,要仅将 me_body
字段值提取到列表中,您可以使用列表理解:
me_body_values = [r.me_body for r in rows]
最后,您可以将这些值连接在一起:
name3 = ' '.join(me_body_values)
sqlite、web2py 新手。我正在尝试将 sqlite 数据库内容复制到控制器以实现另一个功能。 我的代码是这些: db.py
auth.define_tables(username=False, signature=False)
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True
db.define_table('chat',
Field('me_from'),
Field('me_body', 'text'),
默认值:
@auth.requires_login()
def index():
chats.index(db)
body = db.chat.me_body()
rows = db(db.chat.me_body).select()#(orderby=~db.chat.me_body.created_on)
form1 = [body]
form5 = form1#.split()
name3 = ' '.join(form5)
我想检索发布到数据库的字符串..
chat.id chat.me_from chat.me_body chat.me_html
1
2 maurice hi <div class="m...
3 maurice whats up <div class="m...
4 maurice where are you. <div class="m...
5 maurice 3i5ejp[eoityjdt <div class="m...
6 maurice how are you d...<div class="m...
7 maurice britam <div class="m...
从上面的 table 中,我想从 chat.me_body 中检索发布的单词,例如 'hi'、'whats up'、'britam'...默认功能。相反,我不断收到以下错误:
如果我使用:
body = db.chat.me_body()
错误是:
TypeError: 'Field' object is not callable
如果我使用:
`body = db.chat.me_body
错误是:
TypeError: sequence item 0: expected string, Field found
如果我使用行:
rows = db(db.chat.me_body).select()
和
form1 = [rows]
错误是:
name3 = ' '.join(form5)
TypeError: sequence item 0: expected string, Rows found
我会感谢你的帮助
查询从数据库中获取记录的正确方法是:
rows = db(db.chat).select(db.chat.me_body, db.chat.created_on,
orderby=~db.chat.created_on)
注意,对于查询 db(db.chat.id != None)
(即选择 table 中的所有记录),db(db.chat)
是 shorthand。
然后,要仅将 me_body
字段值提取到列表中,您可以使用列表理解:
me_body_values = [r.me_body for r in rows]
最后,您可以将这些值连接在一起:
name3 = ' '.join(me_body_values)