Justin, That is great. Thanks. I did not realize the db.select result can be turned to a list using list() function at that time.
On Aug 6, 2:54 pm, Justin Davis <[email protected]> wrote: > Hi Zak, > > A couple ways. With your example, it's really easy to just change the > SQL statement to: > > combined = db.select('mytable', where="name = $name1 or age = $age") > > However, it's probably not that simple for your case -- what you > probably want is: > > return list(results1) + list(results2) > > You need to cast the db.select results to a list to do list > concatenation. Database results in web.py database objects are > iterators. You can cast it to a list to use list idioms on it, but > realize that it will load the entire database result into memory. This > isn't a problem for small datasets, but for large ones the iterator > approach uses memory more efficiently. > > Good luck, > Justin > > On Aug 6, 9:50 am, Zak <[email protected]> wrote: > > > Hey all, > > I have another newbie's question. I googled the question, but I can > > not find clues. > > > An example code for a function, (Not real, just for showing 2 > > instances of db.select): > > > import web > > db = web.database(dbn='mysql', db='mydata', user='dbuser', pw='') > > results1 = db.select('mytable', where="name = $name1") > > results2 = db.select('mytable', where="age = $age") > > return (result1 + result2) ## wrong, return [results1, results2] is OK > > > Can I combine the out of db.select results1 and results2 to a instance > > of db.select (Not by combining where clauses)? so the function can > > return an object. > > > Thanks in advance. -- You received this message because you are subscribed to the Google Groups "web.py" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/webpy?hl=en.
