Did you add unique=True sometime after the table was originally defined, and then turn off migrations? Since it affects the db schema, I don't think you can change it after the table is initially created without doing a migration (actually, I'm not sure if migrations handle changes to unique, notnull, etc.). Otherwise, could be a bug. Anthony
On Tuesday, June 14, 2011 11:07:32 AM UTC-4, apple wrote: > Except it has not resulted in an error and has added two rows to the > database with the same name. > > On Jun 14, 3:47 pm, Anthony <[email protected]> wrote: > > On Tuesday, June 14, 2011 10:38:49 AM UTC-4, apple wrote: > > > > > The following code in a model results in two rows with the name > > > "test". So what does unique=True do? > > > > It translates to the "UNIQUE" SQL statement and is enforced at the level > of > > the database. requires=IS_NOT_IN_DB, on the other hand, is a validator > and > > is enforced by web2py forms. If you make insertions into the database > > without using a form, unique=True will still be enforced by the database, > so > > duplicate values will result in an error (and the transaction will not be > > > committed). Seehttp:// > web2py.com/book/default/chapter/06#Record-Representation. > > > > Anthony

