在数据库中插入记录并使用默认值求和?
Inserting records in db and summing with default values?
我正在尝试在一个循环中向数据库添加(或更新,以防它不存在)一些记录,我想用默认数据库值与其他一些值的总和来填充这些条目,但不知何故,当试图插入时,它不起作用。是这样的:
db.cTable.update_or_insert((db.cTable.User == row.id) & (db.cTable.Year == int(datatemp[2])) &
(db.cTable.Month == int(datatemp[1])),User = row.id,
Year = int(datatemp[2]), Month = int(datatemp[1]),
cost = db.cTable.cost + data[t][0])
有什么想法吗?
db.cTable.cost
是一个 Field
对象,不是一个值。如果你想添加它的默认值,你必须访问它的 default
属性:
db.cTable.update_or_insert(..., cost = db.cTable.cost.default + data[t][0])
我正在尝试在一个循环中向数据库添加(或更新,以防它不存在)一些记录,我想用默认数据库值与其他一些值的总和来填充这些条目,但不知何故,当试图插入时,它不起作用。是这样的:
db.cTable.update_or_insert((db.cTable.User == row.id) & (db.cTable.Year == int(datatemp[2])) &
(db.cTable.Month == int(datatemp[1])),User = row.id,
Year = int(datatemp[2]), Month = int(datatemp[1]),
cost = db.cTable.cost + data[t][0])
有什么想法吗?
db.cTable.cost
是一个 Field
对象,不是一个值。如果你想添加它的默认值,你必须访问它的 default
属性:
db.cTable.update_or_insert(..., cost = db.cTable.cost.default + data[t][0])