0
我在db.py文件web2py中如何设置默认窗体值列表
PROFILE_TYPE=["cat1", "cat2", "cat3"]
db.define_table('Item_Profile',
Field('uuid', 'string', requires=IS_NOT_EMPTY(), default=uuid.uuid4(), readable=False, writable=False),
...
Field('documentType', 'string', requires=IS_IN_SET(PROFILE_TYPE), label="Select Profile for Document"),
auth.signature)
我有一个“编辑”页,我引用了模型和我正在尝试设置默认值但有麻烦。到此为止,该值已经被设置为列表中的一个值。
document.py
db.document_profile.documentType.default = db.document_profile.documentType
我估计这将需要从选项列表中设置的值,并把它作为默认值...我通过将得到什么
你是什么意思,“这一点,该值已经被设置为列表中的一个值”? *已设置的值*请显示相关代码。请注意,'db.document_profile.documentType'是一个DAL'Field'对象 - 它不是一个值。 – Anthony
那么,如果记录已经填满了,我不认为这会是一个好主意,因为你会覆盖旧的默认值,我猜这是因为你说你有一个“编辑页面”。如果你想设置一个默认值,你应该做** Field('documentType','string',requires = IS_IN_SET(PROFILE_TYPE),default ='来自PROFILE_TYPE的一些值')**。如果你真的需要设置一个新的默认值,那么你应该在控制器中执行它,如下所示:** record = SQLFORM(db.Item_profile,request.args(0))record.vars.documentType ='一个新的默认值“**。我的两分钱。 – deadPoet