我在Web2py中有两张桌子
auth_user
(标准表)customer
(我定义了这个表)当使用表单为customer创建条目时,将使用当前登录用户(创建条目)id
(来自auth_user
表)将一个值放入customer
字段中的customer
表中。这是通过auth.user_id
完成的。在
现在,我试图使用当前登录用户的auth.user_id
查询customer
表,以提取当前登录用户创建的所有条目。在
我在做这个
def viewcustomers():
rows = db.customer(db.customer.company_id == auth.user_id)
print rows
在我看来,我
^{pr2}$我得到的唯一结果是“没有”。在
有人知道发生了什么事吗?在
不要使用
print
来生成HTML输出。print
命令将直接打印到控制台。为了执行视图,您的函数必须返回一个字典(实际上,您的函数不返回任何内容,这就是为什么浏览器显示“None”)。在另外,
db.mytable(query)
语法只返回第一个匹配的记录。如果需要所有记录,则必须使用db(query).select()
语法。在所以,你的函数应该是这样的:
注意,如果您像您一样在视图中插入
Rows
对象,默认情况下它将通过SQLTABLE
显示。在为什么不让控制器的viewcustomers()函数返回一个以“viewcustomers”为键的字典?在
另外,如果您基于当前客户执行db查询,那么应该是用户.session.id,而不是身份验证用户\u id?在
编辑:在下面的对话之后添加了“.select()”。在
相关问题 更多 >
编程相关推荐