web2py,一对多,不需要关系

时间:2014-01-22 02:03:07

标签: python web2py

考虑web2py python Web框架中的2个表。

默认auth_user

和这一个:

b.define_table(
    'artwork',
    Field('user_id', 'reference auth_user', required=False),
    Field('name'),
    Field('description', 'text')
    )

现在,当我(appadmin)进入数据库管理时,我希望user_id是可选的。如果我将选择下拉为空,当手动输入图稿表中的条目时,它会显示:“值不在数据库中”,它与required=False语句相关联。

我希望能够插入没有user_id

的艺术作品条目

有人可以帮我解决这个问题吗?很多

2 个答案:

答案 0 :(得分:6)

创建引用字段时,默认情况下会获得requires=IS_IN_DB(...)验证程序。 requires属性在表单级别强制执行,而required属性在DAL级别强制执行。要覆盖默认的表单验证程序,您可以执行以下操作:

Field('user_id', 'reference auth_user', requires=None)

或者,

Field('user_id', 'reference auth_user',
      requires=IS_EMPTY_OR(IS_IN_DB(db, 'auth_user.id',
                                    db.auth_user._format)))

答案 1 :(得分:0)