web2py - 我可以使用虚拟字段在 web2py 中显示链接表的值吗?
问题描述
我会尝试用一个例子来说明我的问题:-)
假设我想显示关于汽车剩余价值的评论文本,仅基于汽车品牌和制造年份。表格“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')
)
最后,我将创建“汽车”表,在其中存储用户的输入:
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 表的“评论”字段......
嘻嘻嘻:-)
解决方案
我不相信有任何神奇的内置方法可以做你想做的事。这是一个棘手的问题,需要在选择后调用 AJAX 来获取数据。
大的想法是这样的:
- 将事件侦听器附加到表单中的品牌和年龄控件(请参见此处)。我可能会在页面加载后执行此操作。
- 当它们触发时,向控制器发出 AJAX 调用,该控制器可以查询数据库以根据所选年龄和品牌查找评论。有多种方法可以做到这一点 - 这是一个通用的,这是一个web2py ajax 调用。
- 使用返回的数据更新您的表单。
这不是一个微不足道的问题,因此需要一些思考。web2py 让很多事情变得简单——但不是那种事情。
推荐阅读
- javascript - 如何将 obj[key] 分配给数组
- django - 我们是否需要为 django 中的不同项目使用不同的 virtualenv
- ios - 请向我解释错误的性质:由于未捕获的异常“NSInvalidArgumentException”而终止应用程序
- cron - 我可以在 virtualenv 中运行 python 文件的 cronjob 吗?
- .net-core - 从电子应用程序调用 .NET 核心库
- android - 如何让 Android 使用 ZeroMQ libzmq?
- javascript - Angular => Reactive Forms:遇到空输入字段时禁用按钮
- xamarin - 用户登录/登录后如何更新集合
- javascript - 获取光标正在触摸(或在其中)JavaScript 的完整单词
- python - 大型 Numpy 数组的高效连接