我想插入一个包含两个字段的表单:coursename,teacher_id(引用auth_user),但是teacher_id字段显示auth_user中的所有id,我只希望用户的id whoes role = teacher显示在dropdown.as all中用户在同一个表中(auth_user) 这就是我所做的:但它显示错误:'Query'对象不可调用。
query=(db.auth_membership.user_id==db.auth_user.id)(db.auth_membership.group_id==db.auth_group.id)(db.auth_group.role=='teacher')
db.courses.teacher_id.requires=IS_IN_DB(db(query),'auth_user.id')
form=SQLFORM(db.courses)
return dict(form=form)
由于 建
答案 0 :(得分:1)
query=(db.auth_membership.user_id==db.auth_user.id)(db.auth_membership.group_id==db.auth_group.id)(db.auth_group.role=='teacher')
以上是无效的语法。 Set对象是可调用的,并且在调用时,它返回另一个Set对象,因此您可以链接Sets:
myset = db(query1)(query2)(query3)
如果您想要使用Query对象,则必须使用"&"进行显式连接。操作者:
myquery = query1 & query2 & query3