我如何保存&显示提交保存在数据库中的表单的用户的名称。
例如:
我有一个允许用户查看产品的表单。 然后我有一张列出这些评论的表格。 在表格中,我想列出每个评论之外的每个用户名称。
答案 0 :(得分:1)
您可以添加一个指向db.auth_user
表的引用字段(或存储用户数据的任何表):
db.define_table('review',
...,
Field('reviewer', 'reference auth_user', default=auth.user_id, writable=False),
...)
使用上面的代码,"评论者的默认值" field是当前登录用户的ID。该字段不可写,因此用户无法更改该字段(在审核条目表单中,您可能还希望将其readable
属性设置为False
,因为不需要作者看到它。)
然后,要显示评论者姓名和评论,您可以执行join或使用recursive select(如果您一次显示多条评论,则前者更有效,因为递归select方法需要单独的数据库查询才能获得每个评论的作者。