コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
5022 ビュー

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
38806
1
3月 15
5892
1
3月 15
4525
0
3月 15
4236
0
3月 15
3686