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.