Hi,

I'm going to run a web app with database backend. I decided, that I
need something more suitable than Zope, which runs several of my
content-based sites. Pylons interested me and seems to be OK for the
purpose. But finally I decided to give the first try to web2py, which
looks really amazing..

So, I'm playing now, with MySQL as a backend. After a few changes in
model, attempts to list data from one of the tables (either using
database administration, or my experimental controller) started to
throw errors:

row[tablename][fieldname]=base64.b64decode(str(value))
TypeError: Incorrect padding

There was nothing precious in the database, so I dropped it, system
have recreated it and the problem has gone. OK

But now I have another problem. The form for adding record to table
"person" does nothing. No error reported, but, actually, to the db
nothing inserted. The behavior of database administration and SQLFORM
defined in my controller is the same. If I add the line manually,
using db client, it normally appears in the web2py listings, but the
insertion using web2py still does not work.

And there is the second problem, maybe interrelated? For the foreign
keys, the form does not offer values in select box, but provides only
the regular text input field. This problem was there from the start,
even before the "Incorrect padding". I was able to insert a new
person, if I provided the valid id of a country in the corresponding
input field, but the select box would be better. In the database admin
it was as well.

This is my tiny sandbox model:

db = SQLDB('mysql://root:<snip>@localhost:3306/mydb)

db.define_table('country',
                SQLField('code',length=4),
                SQLField('name',length=64))

db.define_table('person',
                SQLField('name','string'),
                SQLField('country',db.country),
                SQLField('info','blob'))

db.country.name.requires = [IS_NOT_EMPTY(), IS_NOT_IN_DB
(db,'country.name')]
db.country.code.requires = [IS_NOT_EMPTY(), IS_NOT_IN_DB
(db,'country.code')]
db.person.name.requires = IS_NOT_EMPTY()
db.person.country.requires = [IS_IN_DB
(db,'country.id','country.name')]

Please, any ideas?

Thanks!

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to