Skip to content

compute field not work when using after insert callback #311

Open
@niphlod

Description

@niphlod

e.g.
def __after_insert_delivery_order(f, id):
db(db.customer.id == f.customer).update(last_delivery_order_net = f.gross - f.tarra) # work

db(db.customer.id == f.customer).update(last_delivery_order_net = f.net) # not work

def on_define_delivery_order(table):
table._after_insert.append(__after_insert_delivery_order)
table.net.compute = lambda r: r['gross'] - r['tarra']

db.define_table('delivery_order',
Field('delivery_order_no'),
Field('customer', 'reference customer'),
Field('tarra', 'integer'),
Field('gross', 'integer'),
Field('net', 'integer'),
on_define = on_define_delivery_order,
format = '%(delivery_order_no)s')

https://groups.google.com/forum/#!topic/web2py/I1acweQhAEY

PS: originally opened by @sugizo at web2py/web2py#1101

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions