跳至內容
選單
此問題已被標幟
2 回覆
4998 瀏覽次數

I'm trying to retrieve some calendar entries. With the following code I get always all entries with category id 12. The date is not used.

What would be the right syntax ?

dt = datetime.now()
args = [('categ_id','=',12),('date','=',str(dt))]
ids = sock.execute(dbname, uid, pwd, 'crm.meeting', 'search', args)

Update

Thanks so far but it won't:

Database:
test=# select * from crm_meeting where date='2013-03-25 00:00:00';
-[ RECORD 1 ]----------+---------------------------
id                     | 663
create_uid             | 1
create_date            | 2013-03-25 11:32:19.318743
end_type               | forever
date                   | 2013-03-25 00:00:00
freq                   | None
categ_id               | 17
class                  | public

Python:
dt = datetime.now().strftime("%Y-%m-%d 00:00:00")
print dt
args = [('categ_id','=',17),('date','=',dt)]
ids = sock.execute(dbname, uid, pwd, 'crm.meeting', 'search', args)

print ids

Output:

2013-03-25 00:00:00
[864, 863, 862, 861, 860, 859, 858, 857, 856, 855, ...

still getting all entries with categorie id 17 ...

頭像
捨棄
最佳答案

The field date of model crm.meeting is a timestamp. You can use the following script:

import datetime
date_from = datetime.datetime.now().strftime("%Y-%m-%d 00:00:00")
date_to = datetime.datetime.now().strftime("%Y-%m-%d 23:59:59")
args = [('categ_id','=',12),('date','>=',date_from), ('date','<=',date_to)]
ids = sock.execute(dbname, uid, pwd, 'crm.meeting', 'search', args)
頭像
捨棄
作者

see my update

最佳答案

This work:

import datetime
dt = datetime.datetime.today()
args = [('categ_id','=',12),('date','=',str(dt)]
ids = sock.execute(dbname, uid, pwd, 'crm.meeting', 'search', args)

?

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
4
1月 24
38719
1
3月 15
5865
1
3月 15
4502
0
3月 15
4210
0
3月 15
3656