Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
2 Risposte
4467 Visualizzazioni

        _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.

 

 

 

 

Avatar
Abbandona
Risposta migliore

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 !!!

Avatar
Abbandona
Risposta migliore

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).

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
1
apr 25
1304
1
apr 25
1505
0
nov 24
1696
0
ott 24
1689
1
mag 24
4969