如何将参考表中的数据插入相应的字段

时间:2017-04-28 09:11:48

标签: mysql database insert web2py

我很抱歉,如果我的问题听起来有点混乱。我刚开始学习web2py,在本练习中,我试图制作一个简单的用户管理网页,管理员可以为用户分配他们的工作清单,备注和截止日期

db.define_table('auth_manager',Field('name','string',requires=IS_NOT_EMPTY()))
db.define_table('manager',Field('user','string','reference user.name'),
             Field('workname','text',requires=IS_NOT_EMPTY()),
             Field('deadline','date'),)
db.manager.deadline.requires=IS_DATE_IN_RANGE(format=T('%Y-%m-%d'),
                                          minimum=now,maximum=now+datetime.timedelta(60))

我想过使用appadmin的新记录功能在auth_manager表中添加管理员的用户名。这是我的用户表

db.define_table('user',Field('name','string',requires=IS_NOT_EMPTY()),
             Field('password','password'),
             Field('workname','text'),                               
             Field('deadline','date'),                               
             format='%(name)s')

我想在管理器上添加这些表单之后立即将workname和deadline插入到用户表中但除了update或update_or_insert函数之外我找不到任何其他方法,但两者都不起作用,因为这些字段不能为空并且它们的ID不是相同的值,并且对单个表的多个引用不起作用。

最后一个问题,我想使用web2py的RBAC但是第一个&如果我想使用全名字段,还有其他方法可以使用姓氏字段吗?

对不起,我希望我的问题清楚。

1 个答案:

答案 0 :(得分:0)

您可以使用auth中的表格,让web2py处理其中的所有内容。

以下代码可以解决您的问题:

db.define_table('manager', 'reference auth_user'),
                Field('workname', 'text', requires=IS_NOT_EMPTY()),
                Field('deadline', 'date'))