#model:
db.define_table('dept',
Field('name',unique=True,label='Department Name'),
format='%(name)s')
db.define_table('course',
Field('dept_id','reference dept'),
Field('name',unique=True,label='Course Name'),
format='%(name)s')
db.define_table('files',
Field('course_id', 'reference course'),
Field('documentx_filename',unique=True),
Field('documentx','upload'))
#controller:
# list all departments
def show_dept():
rows = db().select(db.dept.ALL)
return dict(rows=rows)
def show_dept_course():
z = db(request.args(0) == db.dept.id).select()
courses = db(request.args(0) == db.course.dept_id).select()
return locals()
#view:(show_dept_course.html)
{{extend 'layout.html'}}
<h1>This is the x/show_dept_course.html template</h1>
<h3>
Name of dept:
</h3>
{{for x in courses:}}
<h3>
{{=x.name}}
</h3>
{{pass}}
{{=BEAUTIFY(response._vars)}}
如果我离开
Name of dept = (empty)
一切都按预期工作,但如果我将其替换为:
Name of dept:{{=z.name}}
我收到错误:
<type 'exceptions.AttributeError'> 'Rows' object has no attribute 'name'
在底部
{{=BEAUTIFY(response._vars)}}
我可以在z下看到dept.name正在显示。 我不确定我做错了什么以及如何解决?
答案 0 :(得分:1)
试试这个
Name of dept:{{=z[0].name}}