查找值我在的web2py這樣一個模型:的web2py FORM - 由字符串字段,而不是ID
db.define_table('courses',
Field('course_name','string'))
db.define_table('auth_user',
....
....
Field('course_name',db.courses,label=T('Course Name'),
required=True,
requires=IS_IN_DB(db,db.courses.id,'%(course_name)s'),
如果我顯示基於AUTH_USER表的形式中,auth_user.course_name
場通過一個下拉菜單表示包含courses
表中的所有課程。正如預期的那樣,它使用courses.course_name
字段的內容顯示它們,而不是courses.ID
字段(因爲IS_IN_DB要求中的字符串格式表示形式)。
但是,我試圖修改它,而不是使用下拉選擇菜單,它只是顯示一個文本字段,我期望用戶能夠輸入課程名稱,只要該名稱有效,該表單就可以正常工作
要做我添加了一個widget=SQLFORM.widgets.string.widget
屬性到auth_user.course_name
字段,它正確顯示了一個文本框而不是下拉菜單,但不允許用戶輸入course_name
。如果有效的輸入(如果不是有效的ID,則顯示預期的錯誤消息)。
但是,我不知道如何使它接受course_name
而不是ID。理論上我可以使用自動完成插件(它確實有效),但其目的是讓用戶只有在知道有效的course_name
(它有點像密碼)時才提交表單。
這可能嗎?