You can do form = SQLFORM.factory(db.item, db.subscription_item) as long 
the two tables do not have fields with the same name. Then after

if form.process().accepted:
    db.item.insert(....)
    db.subscription_item.insert(....)

where ... should be replaced by the proper fields in form.vars

On Monday, 17 April 2017 12:09:58 UTC-5, Rudy wrote:
>
> Hi there,
>
> I am building an accounting system. When I create a quotation, if the item 
> is in 'subscription' category, i want to use SQLFORM.factory(db.item, 
> db.subscription_item) to generate a create form for submitting the 
> necessary values. Now i want to edit these 2 tables(item and 
> subscription_item have 1-1 relationship), does SQLFORM.factory() takes any 
> constraint or query to specify which item I want to edit?  If not, what's 
> the best way to do it? Thanks in advance!
>
> Below is the simplified database tables:
> db.define_table('company',
>                 Field('company_name', requires=IS_NOT_EMPTY()), # 
> unique=True
>                 format='%(company_name)s')
>
> db.define_table('quotation',
>                 Field('company', 'reference company'),
>                 Field('project_name', requires=IS_NOT_EMPTY()),
>                 Field('quote_amount', 'double', default=0, writable=False),
>                 auth.signature)
>
> db.define_table('category',
>                 Field('category_name', ondelete='NO ACTION'), # eg. 
> project or subscription
>                 format='%(category_name)s')
>
> db.define_table('item',
>                 Field('quotation', 'reference quotation',  writable=False, 
> label='Quote Id'),
>                 Field('category', 'reference category', 
> requires=IS_IN_DB(db, 'category.id', '%(category_name)s')),
>                 Field('description'),
>                 Field('amount', 'double', default=0),
>                 auth.signature)
>
> db.define_table('subscription_item',
>                 Field('item', 'reference item',  writable=False, 
> label='Item Id'),
>                 Field('start_date', 'date'),
>                 Field('end_date', 'date'),
>                 auth.signature)
>
>

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to