NB : however, the standard function doesn' work anymore (e.g. without the '.json' extension). I get a invalid function (default/handle_error). Why? Le lundi 12 novembre 2012 09:19:50 UTC+1, dederocks a écrit : > > This is great, thank you! And I don't know why but this is great too, the > update applies *directly* to the data object (I therefore don't have to > create a new one). > > Le jeudi 8 novembre 2012 19:27:29 UTC+1, Massimo Di Pierro a écrit : >> >> You can try this. Yet I found some problem as data.json() does not behave >> well as json(data) while they should be the same. >> >> from gluon.serializers import json >> >> db =DAL() >> db.define_table('test',Field('name'),Field('firstname')) >> db.test.insert(name='Test',firstname='Test') >> count = db.test.id.count() >> data = db().select(db.test.ALL, >> count, >> groupby=db.test.id, >> orderby=db.test.name) >> for row in data: >> row.test.newName = row(count) >> del row._extra >> print row >> >> print json(data) >> >> On Thursday, 8 November 2012 11:24:14 UTC-6, dederocks wrote: >>> >>> Hello, >>> >>> If I define a table with >>> define_table('test',Field('name'),Field('firstname')) >>> >>> Then in the controller, I have: >>> count = db.test.id.count() >>> data = db().select(db.test.ALL, >>> count.with_alias('newName'), >>> groupby=db.test.id, >>> orderby=db.test.name) >>> >>> In the view displaying data as json (view.jason) I get: >>> >>> {"data": [{"test": {"name": "UserName", "firstname": "FirstName"}, >>> "newName": 1, "_extra": {"COUNT(test.id) AS newName": 1}}, ... >>> >>> Which I thought was not correct, but Massimo said this is the intended >>> behaviour as 'count' does not belong necessarily to a table. >>> >>> So can someone help me and give me a hint on how I could format the json >>> output like: >>> >>> {"data": [{"test": {"name": "UserName", "firstname": "FirstName", >>> "newName": 1}, ... ? >>> >>> Thanks in advance for your feedback! >>> Andre >>> >>
--