I am not sure where you are printing to (console, logs, html page) but
one problem may be that if you view the output into an HTML document
rows are displayed as <Row {...}> and your browser thinks this is a
tag, does not understand it and makes it invisible.

On Aug 31, 11:19 am, Arbie Samong <phek...@gmail.com> wrote:
> Update: Following christian's example, it seems that looping over the
> Rows object in controller does nothing, but looping over it on the
> view is working.
>
> My controllers and models are almost exactly the same, at least the
> fields that are affected. I am testing on localhost:8080 first,
> although same results in GAE production. I print out stuff on
> localhost:8080, it works although it breaks the page and displays
> withing <pre> tags (ala php die ;-P), so I can see variables. I can
> see the Rows object and the fetched records, but when I iterate over
> them nothing happens.
>
> # controller
> profiles =
> db(db.userprofile.created).select(orderby=~db.userprofile.created,
> limitby=(0,20))
> print profiles # no problem, I see the profiles object
> print len(profiles) # still OK
>
> for profile in profiles:
>   print profile # here nothing happens
>
> # view
> <h1>profiles</h1>
> {{for profile in profiles:}}
>   {{=profile.title}}<br />
> {{pass}}
>
> Now I'm not sure if this is a bug, but I would appreciate a way for me
> to make it work on the controller side because I'll need to fetch
> stuff that spans a couple of tables, and that would nicely fit in the
> controller instead of the view.
>
> Thanks,
> Arbie
>
> On Aug 29, 3:24 am, howesc <how...@umich.edu> wrote:
>
>
>
>
>
>
>
>
>
> > here is what i just tried:
>
> > db.define_table('menu_item',
> >   Field('created_on','datetime', default=request.now,writable=False),
> >   Field('name', length=500, notnull=True, unique=True,
> >         requires=IS_NOT_IN_DB(db, 'menu_item.name')),
> >   migrate=migrate)
>
> > then in controller:
>
> > def index():
>
> > data=db(db.menu_item.created_on).select(orderby=~db.menu_item.created_on,
> > limitby=(0,20))
>
> >     data2=db().select(db.menu_item.ALL,orderby=~db.menu_item.created_on,
> > limitby=(0,20))
>
> >     return dict(data=data, data2=data2)
>
> > then in view:
>
> > {{=BEAUTIFY(response._vars)}}
>
> > <h1>data</h1>
> > {{for d in data:}}
> >   {{=d.name}}<br />
> > {{pass}}
>
> > <hr />
> > <h1>data2</h1>
> > {{for d in data2:}}
> >   {{=d.name}}<br />
> > {{pass}}
>
> > and got exactly what i was expecting.  some things i noticed:
> >  - i don't think db(db.menu_item.created_on) is a valid query.  it needs to
> > be compared to something right?  (i know it works, but it seems wrong to me)
> >  - print doesn't work on GAE (there is no console to output to in that
> > environment) so i assumed you were either using logging or outputting in a
> > view
>
> > can you tell me more, or send me a minimal application that produces the
> > problem and i'll try it out too?  it sounds like something is up, so let's
> > get to the bottom of it and get it fixed!
>
> > christian
>
> On Aug 29, 3:24 am, howesc <how...@umich.edu> wrote:
>
>
>
>
>
>
>
> > here is what i just tried:
>
> > db.define_table('menu_item',
> >   Field('created_on','datetime', default=request.now,writable=False),
> >   Field('name', length=500, notnull=True, unique=True,
> >         requires=IS_NOT_IN_DB(db, 'menu_item.name')),
> >   migrate=migrate)
>
> > then in controller:
>
> > def index():
>
> > data=db(db.menu_item.created_on).select(orderby=~db.menu_item.created_on,
> > limitby=(0,20))
>
> >     data2=db().select(db.menu_item.ALL,orderby=~db.menu_item.created_on,
> > limitby=(0,20))
>
> >     return dict(data=data, data2=data2)
>
> > then in view:
>
> > {{=BEAUTIFY(response._vars)}}
>
> > <h1>data</h1>
> > {{for d in data:}}
> >   {{=d.name}}<br />
> > {{pass}}
>
> > <hr />
> > <h1>data2</h1>
> > {{for d in data2:}}
> >   {{=d.name}}<br />
> > {{pass}}
>
> > and got exactly what i was expecting.  some things i noticed:
> >  - i don't think db(db.menu_item.created_on) is a valid query.  it needs to
> > be compared to something right?  (i know it works, but it seems wrong to me)
> >  - print doesn't work on GAE (there is no console to output to in that
> > environment) so i assumed you were either using logging or outputting in a
> > view
>
> > can you tell me more, or send me a minimal application that produces the
> > problem and i'll try it out too?  it sounds like something is up, so let's
> > get to the bottom of it and get it fixed!
>
> > christian

Reply via email to