Oops, of course I did change the default as advised:

 Field('membership_id', db.auth_membership, default=0),
 Field('membership_id', auth.settings.table_membership, default=0),

On Oct 21, 10:13 pm, Luther Goh Lu Feng <[email protected]> wrote:
> Thanks for the tip.
>
> I tried the uncommenting the 2 lines separately and got the following
> errors. Any tips?
>
> "Field('membership_id', db.auth_membership, default=''),":
>
> Traceback (most recent call last):
>   File "/home/luther/roverus/gluon/restricted.py", line 188, in
> restricted
>     exec ccode in environment
>   File "/home/luther/roverus/applications/roverus/models/rmodels.py",
> line 18, in <module>
>     Field('membership_id', db.auth_membership, default=0),
>   File "/home/luther/roverus/gluon/sql.py", line 1385, in __getattr__
>     return dict.__getitem__(self,key)
> KeyError: 'auth_membership'
>
>  "Field('membership_id', auth.settings.table_membership, default=''),
> ":
>
> Traceback (most recent call last):
>   File "/home/luther/roverus/gluon/restricted.py", line 188, in
> restricted
>     exec ccode in environment
>   File "/home/luther/roverus/applications/roverus/models/rmodels.py",
> line 20, in <module>
>     format='%(username)s'
>   File "/home/luther/roverus/gluon/sql.py", line 1365, in define_table
>     t._create(migrate=migrate, fake_migrate=fake_migrate)
>   File "/home/luther/roverus/gluon/sql.py", line 1726, in _create
>     elif field.type.startswith('reference'):
> AttributeError: 'NoneType' object has no attribute 'startswith'
>
> On Oct 21, 9:17 pm, mdipierro <[email protected]> wrote:
>
>
>
>
>
>
>
> > They are both fine but default cannot be a string, must be 0.
>
> > On Oct 21, 6:21 am, Luther Goh Lu Feng <[email protected]> wrote:
>
> > > I have the following custom user model. I am trying to reference the 
> > > membership
> > > type so that when users are created by administrators, they can assigned
> > > different roles. Attention to be drawn to the 2 lines commented out at the
> > > bottom, which I have tried to make the reference but failed. Any tips?
>
> > > db.define_table(auth.settings.table_user_name,
> > >     Field('username', 'string', length=255, required=True,
> > > requires=IS_NOT_EMPTY(), unique=True, label="Username"),
> > >     Field('first_name', 'string', length=255, required=True,
> > > requires=IS_NOT_EMPTY(), label="First name"),
> > >     Field('last_name', 'string', length=255, required=True,
> > > requires=IS_NOT_EMPTY(), label="Last name"),
> > >     Field('password', 'password', length=40, required=True,
> > > requires=[IS_NOT_EMPTY(),CRYPT(key="sha1:theultimatesuperrover")],
> > >  readable=False,  label="Password"),
> > >     Field('last_login', 'datetime', writable=False, readable=False,
> > > update=request.now),
> > >     Field('registration_key', length=512, writable=False, readable=False,
> > > default=''),
> > >     Field('reset_password_key', length=512, writable=False, 
> > > readable=False,
> > > default=''),
> > >     Field('registration_id', length=512, writable=False, readable=False,
> > > default=''),
> > >     Field('class_id', 'reference classes', default=''),
> > >     #Field('membership_id', db.auth_membership, default=''),
> > >     #Field('membership_id', auth.settings.table_membership, default=''),
> > >     format='%(username)s'
> > > )

Reply via email to