Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
4597 Lượt xem

        _defaults = {
            'name': time.strftime('%Y-%m-%d %H:%M:%S'),
            'date': time.strftime('%Y-%m-%d'),
        }

 

It seems work fine, but in all open erp version had same issue. return same time for all records.

Like to create log. default datetime return same time for all logs.

 

 

 

 

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hello Zahin

You can use the field 'create_date', this is the "magic" column of openerp which is managed by openerp itself, so you will not need to put any default value for this and system will automatically put value in it.

create_date=fields.datetime("Log Date")

OR

create a function which returns date

    def _get_default_date(self,cr,uid,context={}):     
        return fields.date.context_today('your.model.name',cr,uid,context=context)

_defaults={'date':_get_default_date}

 

Hope this helps !!!

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

I also learned it from the hard way that when _defaults evaluate time directly it will evaluate it on server start ONLY.  Use fields.date.today() and fields.date.now() instead (see odoo/openerp/osv/fields.py).

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 4 25
1485
Odoo Server Error Đã xử lý
1
thg 4 25
1740
0
thg 11 24
1886
0
thg 10 24
1865
1
thg 5 24
5166