I have just tried it on a different OS X machine (but same version of the OS), and did not see the problem. And I didn't see it on pythonanywhere, so I guess it is just that one machine.
- Scott On Wednesday, December 14, 2016 at 2:03:10 PM UTC-5, Anthony wrote: > > Sorry, I cannot reproduce running on Ubuntu -- both printouts as well as > the first page of the grid (after sorting on Myfield2) all have the same 20 > records when I run it. Maybe someone else can try it on OSX. What happens > if you run the OSX binary version of web2py? > > Anthony > > On Tuesday, December 13, 2016 at 6:43:57 PM UTC-5, Scott Hunter wrote: >> >> If I make a fresh, new app from the Administrative Interface, and replace >> the contents of default.py with the following, it will print the first 20 >> records that should show up in the grid, first without using limityby (and >> using a counter to stop at 20), and then with limityby; the second is >> missing records from the first, and matches what appears on the first >> sorted page of the grid. >> >> {The main contents of views/default/index.html need to be replaced with >> {{=form}} as well, to see the grid) >> >> import random >> def index(): >> db.define_table('mytable', Field('myfield1', 'string'), >> Field('myfield2', 'string')) >> >> f2is1_ids = [x.id for x in db(db.mytable.myfield1=="A").select( >> db.mytable.id)] >> if len(f2is1_ids)==0: >> db.mytable.truncate() >> for v1 in random.sample(xrange(10000),200): >> for v2 in random.sample("ABCDE",3): >> db.mytable.insert( myfield2="Value%05d"%v1, myfield1=v2 ) >> f2is1_ids = [x.id for x in db(db.mytable.myfield1=="A").select( >> db.mytable.id)] >> query = db.mytable.id.belongs(f2is1_ids) >> i = 0 >> for d in db(query).select(orderby=db.mytable.myfield2): >> print "%5d"%d.id, d.myfield1, d.myfield2 >> i += 1 >> if i==20: >> break >> print"---" >> for d in db(query).select(orderby=db.mytable.myfield2,limitby=(0,20)): >> print "%5d"%d.id, d.myfield1, d.myfield2 >> args = { 'orderby':db.mytable.myfield1, 'editable':False, >> 'deletable':False} >> form = SQLFORM.grid(query, csv=False, details=False, >> searchable=False, create=False, >> paginate = 20, >> orderby=db.mytable.myfield1, editable=False, deletable=False) >> return locals() >> >> >> On Tuesday, December 13, 2016 at 3:01:19 PM UTC-5, Anthony wrote: >>> >>> While including id may make a difference in general, it should (and did) >>>> not in this case: the reason for the long belongs list is that queries are >>>> made to insure that no 2 records with the same Dog_ID appear in that list. >>>> >>> >>> Sorry, I didn't notice that the first field in your print statements was >>> f_Dog_ID (thought it was just the id field). >>> >>> Anyway, it's not clear what the problem is. I suggest you pack and >>> attach a minimal app that exhibits the behavior. >>> >>> 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 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.