Hi Ramesh, I return a crud.read() for the invoice header and a separate query output for the invoice lines.
My approach is to store all Invoice Header info in a separate table on Invoice creation. (This is to ensure that an exact copy invoice can be reproduced at any later date and is not affected if company name, phone number, email or anything that could change down road does change. I also ensure that anything material to invoice lines is locked down once invoiced so user cannot change affect the invoice line details) I'm not saying this is best practice but it works for me. so, the simplified versions of my controller and view would be something like... def view_invoice(): invoice_id = request.args(0) invoice_header = crud.read(db.invoice[invoice_id]) query = db(query to filter the required invoice lines) invoice_lines = query.select(tables & fields to represent the invoice lines))) return dict(invoice_header=invoice_header, invoice_lines=invoice_lines) and the view... {{extend 'layout.html'}} {{=invoice_header}} {{=invoice_lines}} Hope this helps! Peter On Monday, 10 July 2017 20:56:58 UTC+1, Ramesh Meda wrote: > > What would be the best approach to develop Parent-Child forms in Web2Py > please... > > Case in point... lets say, simple invoice application (over simplified for > the sake of discussion) > Invoice Header (Parent), with invoice information and > Invoice Items (Chid), with multiple line items (grid) > > Thanks in advance... > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.