This question has been flagged
1 Reply
7883 Views

Hello,

i want to make a search view; but i have a problem when my search is based on the following field:

'reports_datecreation' :fields.function(_getcreatedate, method=True, type='char', string='le', store=True),

the function is the following:

def _getcreatedate(self,cr,uid,ids,name,args,context=None):
        date=''
        res={}
        id=ids[0]
        for report in self.browse(cr,uid,ids,context=context):
            cr.execute("select create_date from ch14_reports where id=%s",[id])
            r=cr.fetchone()
            date=r[0]
            res[report.id]=date
        return res

the ERROR is the Following:

ProgrammingError: operator does not exist: timestamp without time zone ~~* unknown LINE 1: ...ch14_reports" WHERE ("ch14_reports"."create_date" ilike ' ... ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.

Can someone tell me what'is wrong ? the field saved is : 2014-08-14 16:20:38.546581 her type is char

Avatar
Discard

Change type in function field to 'date'.

Author

Bernard there is no changes

Author

Bernard there is no changes

restart? I'm sorry to ask, but python is not ruby or php.

Best Answer

Kais,

cr.execute("select create_date from ch14_reports where id=%s",[id])

Should be

cr.execute("select create_date from ch14_reports where id=%s",id)

OR

cr.execute("select create_date from ch14_reports where id=%s" % id)

Thanks.

Avatar
Discard