web2py - Web2py 中的可编辑下拉列表
问题描述
我需要创建一个下拉列表,用户可以在其中从
下拉列表中选择一个值或键入该值。下拉列表值存储
在数据库表中。
例如:表单看起来像这样:
“你来自哪里?”:如果在你的
城市中找不到你的城市,下拉列表列出了可用的城市。
我试过这个代码:
Field('City', requires = IS_IN_DB(db,db.city.id,'%(city)s')
如果
数据库中缺少这个代码,我就无法输入一个新城市。
我只能选择数据库中的可用城市。
模型:
db.define_table('city',Field('name',type='string',length=100,required=True
,notnull=True, ondelete='SET NULL',unique=True),format='%(name)s')
db.define_table('person',Field('name',type='string',length=100,required=Tr
ue,notnull=True, ondelete='SET NULL',unique=True),
Field('city_id','reference city',required=True,notnull=True,label='City'),
format='%(name)s')
db.person.city_id.requires=IS_IN_DB(db,'city.id' ,'%(city)s')
控制器:
def person():
return
dict(grid=sqlform.grid(db.person,create=True,editable=True,deletable=True)
)
View:
{{extend 'layout.html'}}
<div class="row">
<div class="col-md-12">
{{pass}}
{{=grid}}
</div>
</div>
解决方案
推荐阅读
- callback - 如何在颤振小部件树内部调用 homepage.dart void 函数?
- file - 如何从 perl 脚本中的文件中删除所有换行符?
- pygame - 如何让我的排行榜出现在我的游戏中而不是在 python shell 上?
- python - 数据标签:Python
- node.js - 带有 Docker 的 Node Js 项目抛出没有这样的文件或目录 /var/www/package.json 的错误
- actionscript-3 - Actionscript - 带有外部文本文件的 TLFTextField,文件运行时不显示任何内容
- sql - 使用带有 SUM 和 GROUP BY 的完整 JOIN 避免重复条目
- javascript - 无法通过 async:true 获得 XMLHttpRequest 响应
- typescript - 在打字稿中进行柯里化时反向传播类型推断
- javascript - 将时间添加到倒计时时钟