创建者字段返回为'无'

时间:2017-04-23 20:14:49

标签: python web2py

在我的web2py应用程序中,我使用SQLFORM将数据添加到名为' review'的数据库表中。

但是,created_by字段在显示登录用户的名字时返回为none。

任何关于可能出错的问题以及如何纠正这个问题?

控制器 - default.py

def addReview():
    response.menu = [
        (T('Back to Reviews'), False, URL('default', 'index'))
    ]
    review_form = SQLFORM(db.review)

    if review_form.process().accepted:
        session.flash = 'Review has been added!'
    elif review_form.errors:
        response.flash = 'Please review the form for errors'

    return dict(review_form=review_form)

模型 - db.py

db.define_table('product',
    Field('name', requires=[IS_NOT_EMPTY(), IS_ALPHANUMERIC()]),
    Field('description', 'text', requires=IS_NOT_EMPTY()),
    Field('stock_level', 'integer')
)

db.define_table('review',
    Field('product', 'reference product', writable=False, readable=False),
    Field('title', requires=IS_NOT_EMPTY()),
    Field('body', 'text', requires=IS_NOT_EMPTY()),
    Field('created_by', 'reference auth_user', writable=False),
    Field('added', default=request.now, writable=False)
)

1 个答案:

答案 0 :(得分:0)

$lastexitcode

Field('created_by', 'reference auth_user', writable=False) 字段不可写,并且未指定默认值,因此在进行插入时,此字段没有值。如果要插入值,则必须指定默认值。您可能想要当前登录的用户:

created_by