If you mean that request.args(0) contains the name of the restaurant, then 
you need a join:

t = db((db.Menu.Restaurant == db.Restaurant.id) &
       (db.Restaurant.name == request.args(0))).select(db.Menu.id).first()

Note, in that case, the Menu id will be in t.Menu.id rather than just t.id.

You can also use a reverse recursive select (which will result in two 
queries rather than just one):

t = db.Restaurant(name=request.args(0)).Menu.select(db.Menu.id).first()

A simpler option might be to make request.args(0) be the id of the 
restaurant instead of the name -- then you can just do:

t = db.Menu(restaurant=request.args(0))

Finally, if each restaurant has only one menu, then why not just move the 
menu field(s) into the Restaurant table?

Anthony




On Friday, September 2, 2016 at 2:27:23 PM UTC-4, @brooks wrote:
>
> I want to  select those records in the Menu table such that the name of 
> the restaurant with id in the Menu.restaurant field 
> ==request.args(0).So,what should be the DAL query here?
>
>
> On Fri, Sep 2, 2016 at 6:51 PM, Anthony <[email protected]> wrote:
>
>> indices=db(db.Menu).select()
>>> for index in indices:
>>>     t=db(index.restaurant.Name
>>> ==request.args[0]).select(db.Menu.ALL).first()
>>>
>>
>> Above, index.restaurant.Name is simply a string value (the name of the 
>> restaurant in question), as is request.args(0). Therefore, 
>> index.restaurant.Name==request.args(0) is not a DAL Query object but 
>> simply a standard Python boolean that is either True or False. Regardless 
>> of the value of that boolean, the results of the query will be the same -- 
>> all records from db.Menu will be selected.
>>
>> Perhaps you can explain what you are trying to achieve here.
>>
>> Anthony
>>
>> -- 
>> 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 a topic in the 
>> Google Groups "web2py-users" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/web2py/E4VyjG0jS94/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

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