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')
사용자가 등록 중에 에이전트를 자신으로 식별 할 수있게하려고합니다.
사용자 등록 양식에 에이전트 선택을 허용하는 드롭 박스가 표시되지만 시작시 공란 옵션이 포함됩니다. 몇 가지 이유 때문에 Google 시스템에서 허용되지 않습니다.
유효성 검사기의 소스 코드를 조사한 후 IS_IN_DB 유효성 검사기에 '0'이라는 매개 변수가 있음을 발견했습니다. 이것은 기본적으로 ''(빈 문자열)로 설정되고 droplist에 공백 옵션을 작성합니다. 그래서
는 빈 옵션을 제거하여 검증을 변경하려면 :IS_IN_DB(db, db.agea.agea_cod,
'%(agea_cod)s - %(agea_name)s',
error_message='Agent not in DB',
zero=None)
과 같이 설정하십시오. 자신의 질문에 답을 얻은 것처럼 보이지만 해결 방법으로 답안을 제출하고 동의해야합니다. – User