在我的 web2py 应用程序中,我需要复制一条记录及其所有引用。例如,一个用户有一个产品(sponserid 是用户)。而且这个产品有很多存储在其他表中的特性(参考产品ID)。
我的要求是,如果另一个用户正在复制这个产品,新的记录将在产品表中生成新的 productid 和新的 sponserid。并且所有参考表记录也将与新产品 id 重复。实际上,在所有表中都创建了一个重复条目,唯一的变化是产品 ID 和赞助商 ID。
产品表字段将更改。所以我必须写一个动态查询。
如果我可以编写如下代码
product = db(db.tbl_product.id==productid).select(db.tbl_product.ALL).first()
newproduct = db.tbl_product.insert(sponserid=newsponserid)
for field,value in product.iteritems():
if field!='sponserid':
db(db.tbl_product.id==newproduct).update(field=value)
但是我不能在更新函数中引用这样的字段名。
另外我想知道是否有任何其他更好的逻辑来实现这一要求。我将不胜感激任何建议。