db(db.mytab.date1-db.mytab.date1 == datetime.timedelta(days=2).select() must be
db(db.mytab.date1 == db.mytab.date1 + datetime.timedelta(days=2).select() a query has the form field = expression. You cannot have the expression on the left-hand side. I cannot exclude something else is also wrong. Please check and let us know. On Feb 11, 9:25 am, Manuele Pesenti <manuele.pese...@gmail.com> wrote: > Hi, > > how can I select records of a table that got 2 date fields (one datetime > and a simple date) wich difference is a fixed value? > > I thought this solution: > > import datetime > today=datetime.datetime.today() > yesterday = today.date() - datetime.timedelta(days=1) > > db.define_table('mytab', > ... > Field('date1','datetime',default=today), > Field('date2','date',default=yesterday) > ) > > db(db.mytab.date1-db.mytab.date1 == datetime.timedelta(days=2).select() > but thats wat I got: > > Traceback (most recent call last): > File "<console>", line 1, in <module> > File "<Path>/web2py/gluon/dal.py", line 4507, in select > return self.db._adapter.select(self.query,fields,attributes) > File "<Path>/web2py/gluon/dal.py", line 996, in select > sql = self._select(query,fields,attributes) > File "<Path>/web2py/gluon/dal.py", line 929, in _select > sql_w = ' WHERE ' + self.expand(query) > File "<Path>/web2py/gluon/dal.py", line 799, in expand > return expression.op(expression.first, expression.second) > File "<Path>/web2py/gluon/dal.py", line 721, in AND > return '(%s AND %s)' % (self.expand(first),self.expand(second)) > File "<Path>/web2py/gluon/dal.py", line 799, in expand > return expression.op(expression.first, expression.second) > File "<Path>/web2py/gluon/dal.py", line 751, in EQ > return '(%s = %s)' % > (self.expand(first),self.expand(second,first.type)) > File "<Path>/web2py/gluon/dal.py", line 805, in expand > return self.represent(expression,field_type) > File "<Path>/web2py/gluon/dal.py", line 1106, in represent > return repr(float(obj)) > TypeError: float() argument must be a string or a number > > Thank you very much for any help. > > Manuele