On 1 Lug, 15:34, Lennon <lpru...@hotmail.com> wrote:
> In my application I have a form that removes the relationship between
> two data types without deleting each piece of data.
>
> To do this I run a delete on the many to many relation lookup table
> that stores the relationships.
>
> For each of the relationships removed I run this line in web2py:
>
> db(db.relation_table.data_type_A_id==data_type_A_id) &
> db.relation_table.data_type_B_id==data_type_B_id)).delete()

This is odd because web2py just transpates this in the SQL below and
sends it to the server.
Something else is causing the problem.


>
> This seems to work in that the relationships are destroyed, but
> sometimes it doesn't delete the entire row in the relation_table, it
> sometimes only sets the entry for data_type_A_ID to Null.
>
> I want the entire row deleted.
>
> When I experimented with removing 2 or 3 rows at a time, the second
> and third row to be deleted would always be removed, but that first
> row would always set data_type_A_id to Null.
>
> I added some code to log all of my postgresql to see what was going on
> there and it looks right:
>
> DELETE FROM relation_table WHERE (table_A.data_type_A_id='X' AND
> table_B.data_type_B_id='Y');
>
> And when I copy and paste that directly into postgreSQL with existing
> values populated, it works fine and removes the entire row including
> the first one if I do multiples.
>
> But web2py always sets the first row's data_type_A_id to Null
>
> Any ideas?
>
> ~Lennon

Reply via email to