Re: [web2py] Re: Delete a row from one table when two tables are joined

2017-02-23 Thread Mat Miles
Actually that solution was not quite correct. The one below is.

if form.process(formname='form').accepted:
rows = db(db.auth_user.location_id ==
auth.user.location_id).select(db.auth_user.id)

db(db.shift_availability.created_by.belongs(rows)).delete()


On Thu, Feb 23, 2017 at 12:57 PM, Mat Miles  wrote:

> Thanks that worked. I have a shift_availability table and the auth_user
> table. The auth_user table contains a location. I want to clear all the
> rows in the shift_availability table but by location. Below is the solution:
>
> if form.process(formname='form').accepted:
> rows = db((db.shift_availability.created_by == db.auth_user.id)
>   & (db.auth_user.location_id == 
> auth.user.location_id)).select(db.shift_availability.id)
>
> db(db.shift_availability.id.belongs(rows)).delete()
>
>
> On Wed, Feb 22, 2017 at 5:14 PM, Dave S  wrote:
>
>> On Wednesday, February 22, 2017 at 4:03:00 PM UTC-8, Mat Miles wrote:
>>>
>>> I need to create a join to limit the rows to be deleted. Is it possible
>>> to delete a row from one table when a query joins two tables?
>>>
>>
>> Not sure about the full answer, but a partial answer would be to use the
>> join in a SELECT ( db(...).select(), frex) and obtain the row ids, then do
>> a seperate DELETE using those row ids.
>>
>> /dps
>>
>>
>> --
>> 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/to
>> pic/web2py/6V2skxjxNG0/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> web2py+unsubscr...@googlegroups.com.
>> 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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [web2py] Re: Delete a row from one table when two tables are joined

2017-02-23 Thread Mat Miles
Thanks that worked. I have a shift_availability table and the auth_user
table. The auth_user table contains a location. I want to clear all the
rows in the shift_availability table but by location. Below is the solution:

if form.process(formname='form').accepted:
rows = db((db.shift_availability.created_by == db.auth_user.id)
  & (db.auth_user.location_id ==
auth.user.location_id)).select(db.shift_availability.id)

db(db.shift_availability.id.belongs(rows)).delete()


On Wed, Feb 22, 2017 at 5:14 PM, Dave S  wrote:

> On Wednesday, February 22, 2017 at 4:03:00 PM UTC-8, Mat Miles wrote:
>>
>> I need to create a join to limit the rows to be deleted. Is it possible
>> to delete a row from one table when a query joins two tables?
>>
>
> Not sure about the full answer, but a partial answer would be to use the
> join in a SELECT ( db(...).select(), frex) and obtain the row ids, then do
> a seperate DELETE using those row ids.
>
> /dps
>
>
> --
> 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/6V2skxjxNG0/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> web2py+unsubscr...@googlegroups.com.
> 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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[web2py] Re: Delete a row from one table when two tables are joined

2017-02-22 Thread Dave S
On Wednesday, February 22, 2017 at 4:03:00 PM UTC-8, Mat Miles wrote:
>
> I need to create a join to limit the rows to be deleted. Is it possible to 
> delete a row from one table when a query joins two tables?
>

Not sure about the full answer, but a partial answer would be to use the 
join in a SELECT ( db(...).select(), frex) and obtain the row ids, then do 
a seperate DELETE using those row ids.

/dps
 

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