我可以使用虚拟字段在 web2py 中显示链接 table 的值吗?
Can I use a virtual field to display the value of a linked table in web2py?
我将尝试用一个例子来阐明我的问题:-)
假设我想显示有关汽车剩余价值的评论文本,仅基于汽车品牌和制造年份。
table 'ResidualValueInfo' 将包含一个包含汽车、制造年份和要显示的相应文本的矩阵。
我会有以下模型:
db.define_table('brand',
Field('name',type='text'),
Field('info',type='text'),
Field('logo')
)
db.define_table('age',
Field('buildYear',type='integer'),
Field('backgroundInfoAboutThatYear',type='text')
)
db.define_table('ResidualValueInfo',
Field('brand','reference brand'),
Field('age','reference age'),
Field('comment',type='text')
)
最后,我将创建 'cars' table,我将在其中存储我的用户的输入:
db.define_table('car',
Field('owner',type='text'),
Field('color',type='text'),
Field('brand','reference brand'),
Field('age','reference age'),
)
我的输入表单如下所示:
def addNew():
form = SQLFORM(db.car)
if form.process().accepted:
response.flash = T('car added')
redirect(URL('view'))
else:
response.flash = T('Please complete the form')
return locals()
但是在填写表格(并因此选择品牌和年龄)时,我已经想显示链接的 ResidualValueInfo table 的 'comments' 字段,甚至在点击保存按钮之前...
HEEEEEELP :-)
我不相信有任何神奇的内置方法可以做你想做的事。这是一个棘手的问题,需要在选择后调用 AJAX 来获取数据。
大意是这样的:
- 将事件侦听器附加到表单中的品牌和年龄控件(请参阅 here)。我可能会在页面加载后执行此操作。
- 当它们触发时,向控制器发出 AJAX 调用,该控制器可以查询数据库以根据选定的年龄和品牌查找评论。有多种方法可以做到这一点 - 这里是一个通用的 one and here is a web2py ajax call.
- 使用返回的数据更新您的表单。
这不是一个小问题,因此需要一些思考。 web2py 让很多事情变得简单 - 但不是那种事情。
我将尝试用一个例子来阐明我的问题:-)
假设我想显示有关汽车剩余价值的评论文本,仅基于汽车品牌和制造年份。 table 'ResidualValueInfo' 将包含一个包含汽车、制造年份和要显示的相应文本的矩阵。
我会有以下模型:
db.define_table('brand',
Field('name',type='text'),
Field('info',type='text'),
Field('logo')
)
db.define_table('age',
Field('buildYear',type='integer'),
Field('backgroundInfoAboutThatYear',type='text')
)
db.define_table('ResidualValueInfo',
Field('brand','reference brand'),
Field('age','reference age'),
Field('comment',type='text')
)
最后,我将创建 'cars' table,我将在其中存储我的用户的输入:
db.define_table('car',
Field('owner',type='text'),
Field('color',type='text'),
Field('brand','reference brand'),
Field('age','reference age'),
)
我的输入表单如下所示:
def addNew():
form = SQLFORM(db.car)
if form.process().accepted:
response.flash = T('car added')
redirect(URL('view'))
else:
response.flash = T('Please complete the form')
return locals()
但是在填写表格(并因此选择品牌和年龄)时,我已经想显示链接的 ResidualValueInfo table 的 'comments' 字段,甚至在点击保存按钮之前...
HEEEEEELP :-)
我不相信有任何神奇的内置方法可以做你想做的事。这是一个棘手的问题,需要在选择后调用 AJAX 来获取数据。
大意是这样的:
- 将事件侦听器附加到表单中的品牌和年龄控件(请参阅 here)。我可能会在页面加载后执行此操作。
- 当它们触发时,向控制器发出 AJAX 调用,该控制器可以查询数据库以根据选定的年龄和品牌查找评论。有多种方法可以做到这一点 - 这里是一个通用的 one and here is a web2py ajax call.
- 使用返回的数据更新您的表单。
这不是一个小问题,因此需要一些思考。 web2py 让很多事情变得简单 - 但不是那种事情。