Here´s the definition:

db.define_table('returning',
    db.Field('troop', db.troop, required=True),
    db.Field('campaign', db.campaign, required=True),
db.Field('type', 'string', length=2, default='', requires=IS_IN_SET(['', 'r', 'c', 'd', 'p'])),
    db.Field('edited_by', db[user_table], required=True),
    db.Field('edited_date', 'datetime', required=True),
    migrate=settings.migrate)

db.define_table('returning_revision',
    db.returning,
    db.Field('returning', db.returning, required=True),
    migrate=settings.migrate)

I added db.Field("id","id"), and now it is working.


Kenneth



Can you show the definition of table "returning"?
I think I know what is wrong.

As a test, can you try adding a Field("id","id") on top of your table
"returning_revision"?

On Aug 2, 2:24 am, Kenneth Lundström<[email protected]>
wrote:
I tried to upgrade a development server from 1.91.4 to 1.98.1 and now I
get these tickets:

Version
web2py^(TM)     Version 1.98.1 (2011-07-31 10:15:50)

Traceback (most recent call last):
    File "/data/domains/gluon/restricted.py", line 192, in restricted
      exec ccode in environment
    File "/data/domains/applications/init/models/2_db.py", line 463, in
<module>
      migrate=settings.migrate)
    File "/data/domains/gluon/dal.py", line 4311, in define_table
      polymodel=polymodel)
    File "/data/domains/gluon/dal.py", line 593, in create_table
      fields.append('PRIMARY KEY(%s)' % table._id.name)
    File "/data/domains/gluon/dal.py", line 4730, in __getattr__
      return self[key]
    File "/data/domains/gluon/dal.py", line 4674, in __getitem__
      return dict.__getitem__(self, str(key))
KeyError: '_id'

462     db.define_table('returning_revision',
463     db.returning,
464     
db.Field<https://exp-kal.nudata.fi/examples/global/vars/Field>('returning',db.returning,required=True),
465     migrate=settings.migrate)

Any ideas whats wrong?

Kenneth

Reply via email to