b7e7c8caf2274994ae91c9114d709fb05d426980
As per http://code.google.com/p/appengine-ndb-experiment/issues/detail?id=208 ("List items from repeated StringProperty get mutated to _BaseValue on put") it seems to be expected behavior that lists in NDB models get mutated to _BaseValue lists after .put() is called. In web2py this corresponds to: ------------ db.define_table('listintegertest', Field('dummy', 'boolean'), Field('integerlist', 'list:integer'), Field('stringlist', 'list:string'), ) iidee = db.listintegertest.insert( integerlist=[1,2,3,4], stringlist=["1","2","3","4"] ) row = db.listintegertest(iidee) db.listintegertest[row.id] = dict(dummy=True) print "type is %s" % (type(row.integerlist[0])) print "type is %s" % (type(row.stringlist[0])) ------------ The output of the above is currently: type is <class 'google.appengine.ext.ndb.model._BaseValue'> type is <class 'google.appengine.ext.ndb.model._BaseValue'> while this is expected: type is <type 'int'> type is <type 'unicode'> The workaround is to copy the list from the NDB model instead of relying on it not being changed afterwards. list:reference is not affected since parse_list_references() already recreates the list in NoSQLAdapter case.
Readme
web2py is a free open source full-stack framework for rapid development of fast, scalable, secure and portable database-driven web-based applications.
It is written and programmable in Python. LGPLv3 License
Learn more at http://web2py.com
Tests
Installation Instructions
To start web2py there is NO NEED to install it. Just unzip and do:
python web2py.py
That's it!!!
web2py directory structure
project/
README
LICENSE
VERSION > this web2py version
web2py.py > the startup script
anyserver.py > to run with third party servers
wsgihandler.py > handler to connect to WSGI
... > other handlers and example files
gluon/ > the core libraries
contrib/ > third party libraries
tests/ > unittests
applications/ > are the apps
admin/ > web based IDE
...
examples/ > examples, docs, links
...
welcome/ > the scaffolding app (they all copy it)
ABOUT
LICENSE
models/
views/
controllers/
sessions/
errors/
cache/
static/
uploads/
modules/
cron/
tests/
... > your own apps
examples/ > example config files, mv .. and customize
extras/ > other files which are required for building web2py
scripts/ > utility and installation scripts
site-packages/ > additional optional modules
logs/ > log files will go in there
deposit/ > a place where web2py stores apps temporarily
Issues?
Report issues at http://code.google.com/p/web2py/issues/
Description
Free and open source full-stack enterprise framework for agile development of secure database-driven web-based applications, written and programmable in Python.
Languages
Python
87.3%
HTML
5.5%
JavaScript
4.1%
Shell
1.5%
CSS
0.7%
Other
0.7%

