3
在web2py中,假設我通過添加一個名爲'agent_code'的字段修改了默認的auth_user表。此字段應包含來自另一個表的值:web2py - 從IS_IN_DB驗證器中刪除空白選項
auth_table = db.define_table(
auth.settings.table_user_name,
Field('first_name', length=128, default=''),
...more fields here...,
Field('auth_age_cod', length=512,default=None))
auth_table.auth_age_cod.requires = \
IS_IN_DB(db, db.agea.agea_cod,
'%(agea_cod)s - %(agea_name)s',
error_message='Agent not in DB')
我希望用戶能夠在註冊過程中將自己標識爲代理。
用戶註冊表單現在顯示允許代理選擇的收存箱,但在開始時包含空白選項。由於某些原因,這在我們的系統中是不能接受的。
在研究了驗證器的源代碼之後,我發現IS_IN_DB驗證器有一個名爲'zero'的參數。這是默認設置爲''(空字符串)並在下拉列表中創建一個空白選項。
因此,去除空白選項,更改驗證器:
IS_IN_DB(db, db.agea.agea_cod,
'%(agea_cod)s - %(agea_name)s',
error_message='Agent not in DB',
zero=None)
它看起來像你提出並回答你自己的問題,但你應該提交你的解決方案作爲答案,然後接受它。 – User