Hello,

why can´t I do this:
user = db(db.auth_user.id == 'kenneth').select()

I know that this should result in len(user) = 0 but I´m sending sometimes a text and sometimes a number and I´m trying to do this:
        user = db(db.auth_user.id == str(request.args[0])).select()
        if len(user):
            user_id = user[0].id
        else:
            user = db(db.auth_user.username == request.args[0]).select()
            if len(user):
                user_id = user[0].id
            else:
                user_id = 0


   Error ticket for "kenneths"


     Ticket ID

85.76.66.169.2011-07-15.00-45-45.b6793e0f-2144-4a02-802f-d7b8a45ec8a5


     Version

web2py^(TM)     Version 1.97.1 (2011-06-26 19:25:44)
Python  Python 2.6.5: /usr/bin/python


     Traceback

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.

        

Traceback(most recent call last):
  File"/data/domains/web2py/gluon/restricted.py",line192,inrestricted
    execccodeinenvironment
  File"/data/domains/web2py/applications/kenneths/controllers/ticket.py"  
<https://web2py.nudata.fi/admin/default/edit/kenneths/controllers/ticket.py>,line43,in<module>
  File"/data/domains/web2py/gluon/globals.py",line137,in<lambda>
    self._caller=lambdaf:f()
  File"/data/domains/web2py/applications/kenneths/controllers/ticket.py"  
<https://web2py.nudata.fi/admin/default/edit/kenneths/controllers/ticket.py>,line9,innew_ticket
    user=db(db.auth_user.id=='kenneth').select()
  File"/data/domains/web2py/gluon/dal.py",line5394,inselect
    return self.db._adapter.select(self.query,fields,attributes)
  File"/data/domains/web2py/gluon/dal.py",line1168,inselect
    sql=self._select(query,fields,attributes)
  File"/data/domains/web2py/gluon/dal.py",line1078,in_select
    sql_w=' WHERE '+self.expand(query)
  File"/data/domains/web2py/gluon/dal.py",line937,inexpand
    returnexpression.op(expression.first,expression.second)
  File"/data/domains/web2py/gluon/dal.py",line886,inEQ
    return'(%s = %s)'% (self.expand(first),self.expand(second,first.type))
  File"/data/domains/web2py/gluon/dal.py",line943,inexpand
    return self.represent(expression,field_type)
  File"/data/domains/web2py/gluon/dal.py",line1280,inrepresent
    returnstr(int(obj))
ValueError:invalid literalforint()with base10:'kenneth'


     Error snapshot

|<type 'exceptions.ValueError'>(invalid literal for int() with base 10: 'kenneth')|


Reply via email to