You can use the field_id parameter on the SQLFORM.grid call to specify the 
primary key field from the table that you want to be primary.

http://web2py.com/books/default/chapter/29/07/forms-and-validators#SQLFORM-grid-and-SQLFORM-smartgrid

-Jim


On Tuesday, November 24, 2015 at 12:30:35 PM UTC-6, Thomas Sitter wrote:
>
> Hello,
>
> I have two tables that I'd like to join in a SQLFORM.grid. When viewing or 
> editing an entry in the grid I'd like to edit the cheque table, but by 
> default the customer table is selected. How can I change this? I've 
> recreated the relevant code below.
>
> #db.py
>
> db.define_table('customer',
>  Field('firstname', label = "First Name"),
>  Field('lastname', label = "Last Name"),
> )
>
>
> db.define_table('cheque',
>  Field('customer_id', 'reference customer'),
>  Field('cheque_sent', 'boolean'),
>  Field('cheque_value', 'double'),
> )
>
>
> #default.py
>
> def test_view():
>   query = (
>         (db.cheque.customer_id == db.customer.id) &
>         (db.cheque.cheque_sent == True)
>     )
>
>   fields = [
>       db.customer.lastname, 
>       db.cheque.cheque_sent,
>   ]
>
>   cheques = SQLFORM.grid(query=query, fields=fields)
>
>   return dict(cheques=cheques)
>
>
> How do I change the behaviour of the grid to bring up a form for the 
> cheques table rather than customer?
>
>

-- 
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.

Reply via email to