Selecting booleans from sqlite3 database

30 views
Skip to first unread message

LoveWeb2py

unread,
Jan 9, 2017, 3:17:19 PM1/9/17
to web2py-users
Hello,


I'm trying to do a simple query against a sqlite3 database where the values are stored as 0's and 1's

All i want to do is select all values that are True or False

According to the book this should work:

db(db.table.field==True).select()

and that would return rows

however, it's returning Rows(0) (nothing)

I verified in the database that they are being stored as True/False through appadmin

Any thoughts on why this isn't working?

Niphlod

unread,
Jan 9, 2017, 3:49:34 PM1/9/17
to web2py-users
did you try dropping the databae and letting web2py recreate it ? sqlite doesn't go well with fields altering their type "afterwards" (i.e. maybe you created it as a string and then turned into a boolean)

Austin Taylor

unread,
Jan 9, 2017, 5:32:52 PM1/9/17
to web...@googlegroups.com
I'll give that a try. I did try porting the database over from django so I'm guessing that's probably the issue.

--
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/IV2pgqH5lfc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to web2py+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Marco Mansilla

unread,
Jan 9, 2017, 11:26:28 PM1/9/17
to web...@googlegroups.com
El Mon, 9 Jan 2017 12:17:19 -0800 (PST)
LoveWeb2py <atayl...@gmail.com> escribió:
Hi, this has been a headache to me in a new project, since I'm
re structuring the database and migrating data from an existing project
(some crazy thing some did in java), and booleans where 0's and 1's,
when I tried to run queries with these parameters didn't work, just
like in your case, then I realized that web2py queries are effective
with 'T' and 'F' for boolean values and now everything works.

So, is this the expected behaviour?, am I/are we missing something
about DAL?.

Just for the record, I'm not that smart, when imported backup from
table to db booleans were 0 and 1, but after editing the table in CSV
format and restoring data to table noticed the difference and booleand
were converted to T and F respectively.

Hope it helps.

Marco.
Reply all
Reply to author
Forward
0 new messages