从逻辑的角度来看,有时它是没有意义的,例如,在添加客户之前添加地址。
db.define_table('address',
Field('line1','string', required=True),
Field('line2','string'),
Field('suburb','string', required=True),
Field('post_code','integer'),
Field('email','string')
)
db.address.post_code.requires = IS_INT_IN_RANGE(0000, 9999)
db.address.email.requires = IS_EMAIL()
db.define_table('customer',
Field('name', 'string', required=True, unique=True),
Field('locations', 'list:reference db.address', required=True),
Field('comment', 'string')
) # quick aside: how would I ensure there isn't another customer with same name+location?
db.address.requires = IS_IN_DB(db, db.address, '%(line1)s' + ', ' + '%(suburb)s', multiple=True)
因此,如果我可以生成一种允许您创建客户的表格,并附上地址,那么管理将变得更加合乎逻辑。
但是,能够从数据库中已经存在的记录中进行选择仍然很有用,但是只有一个“添加”按钮——使用 javascript 向下滚动——如果字段为空,它将默认打开(并且 .requires 不是) .
我将如何生成这个嵌套的 CRUD?
感谢所有建议