Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在res_config中设置默认持续时间_Python_Default_Openerp - Fatal编程技术网

Python 在res_config中设置默认持续时间

Python 在res_config中设置默认持续时间,python,default,openerp,Python,Default,Openerp,我有一个模块,有一个创建日期(当然是创建日期)和一个截止日期 问题是,我希望能够根据创建日期为这个截止日期设置一个默认值。 但我希望能够从(比方说)res_config动态配置它 e、 g 如果我在res_config中将默认值配置为5天,我希望截止日期的默认值填充为创建日期前5天的日期 这可能吗 谢谢我使用型号ir成功地完成了这项工作。配置\u参数 在res_config.py中: class my_configuration(osv.osv_memory): _inherit = [

我有一个模块,有一个创建日期(当然是创建日期)和一个截止日期

问题是,我希望能够根据创建日期为这个截止日期设置一个默认值。 但我希望能够从(比方说)res_config动态配置它

e、 g

如果我在res_config中将默认值配置为5天,我希望截止日期的默认值填充为创建日期前5天的日期

这可能吗


谢谢

我使用型号
ir成功地完成了这项工作。配置\u参数

在res_config.py中:

class my_configuration(osv.osv_memory):
    _inherit = ['res.confi.settings']
    _columns = {
       'default_deadline' : fields.integer('Days per default', help="""Help field"""),
    }
    ...
    def set_default_deadline(self, cr, uid, ids, context=None):
        config = self.browse(cr, uid, ids)
        config = config and config[0]
        val = '%s' %(config.default_deadline) or '10'
        self.pool.geet('ir.config_parameter').set_param(cr,uid, 'key_value', val)
        return True
通过这个,我们创建了一个系统参数。它实际上是作为从“key_value”到字符串val的映射创建的,因此我们必须在必要时将其转换为所需的类型。 在我的例子中,y创建了一个函数来获取模块中的截止日期:

def _get_deadline_date(self, cr, uid, context=None):
    val = self.pool.get('ir.config_parameter').get_param(cr, uid, 'key_value')
    try:
        val = int(val)
    except: 
        # Just in case...
        val = 30
    return (datetime.now() + timedelta(days=val)).strftime('%Y,%m,%d')

_defaults = {
    'deadline_date': lambda s, cr, uid, c: s._get_deadline_date(self, cr, uid,     context=c),
}
谢谢,希望有帮助