加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

web2py数据库中的表示格式

发布时间:2020-12-14 16:43:40 所属栏目:资源 来源:网络整理
导读:db.define_table(‘person’,Field(‘name’),format=’%(name)s’) 这种格式在这里做什么? 解决方法 format参数用于确定将如何显示引用“person”表的其他表中的字段.例如,如果您定义: db.define_table('dog',Field('name'),Field('owner',db.person) “

db.define_table(‘person’,Field(‘name’),format=’%(name)s’)

这种格式在这里做什么?

解决方法

format参数用于确定将如何显示引用“person”表的其他表中的字段.例如,如果您定义:
db.define_table('dog',Field('name'),Field('owner',db.person)

“所有者”字段是引用“人物”表的参考字段(即,它存储来自“人”表的记录的记录ID).在大多数情况下,当您从’dog’表中显示数据时,您不希望显示存储在’owner’字段中的原始db.person记录ID,因为它没有任何意义 – 相反,显示此人的“姓名”更有意义.在web2py中,表的format属性在表单和表中启用此自动替换.

当您基于’dog’表创建SQLFORM时,它将自动为’owner’字段生成一个下拉列表,并且因为’person’表定义的format =’%(name)s’参数,下拉列表将显示db.person名称而不是记录ID(即使在表单提交时,“owner”字段将存储关联的记录ID而不是名称).

此外,如果您在SQLTABLE或SQLFORM.grid中显示’dog’表中的记录,“owner”字段将显示所有者的名称而不是所有者的记录ID.

见http://web2py.com/books/default/chapter/29/6#Record-representation.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读