Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 can';t将datetime.date与bool进行比较_Python_Python 2.7_Date_Datetime_Odoo 10 - Fatal编程技术网

Python can';t将datetime.date与bool进行比较

Python can';t将datetime.date与bool进行比较,python,python-2.7,date,datetime,odoo-10,Python,Python 2.7,Date,Datetime,Odoo 10,当我保存附件时,会出现以下错误“无法将datetime.date与bool进行比较” 我怎样才能解决这个问题 这是密码 from datetime import datetime, date, timedelta from odoo import models, fields, api, _ from odoo.exceptions import Warning class HrEmployeeDocument(models.Model): _name = 'hr.employee.d

当我保存附件时,会出现以下错误“无法将datetime.date与bool进行比较” 我怎样才能解决这个问题 这是密码

 from datetime import datetime, date, timedelta
 from odoo import models, fields, api, _
 from odoo.exceptions import Warning


class HrEmployeeDocument(models.Model):
_name = 'hr.employee.document'
_description = 'HR Employee Documents'



@api.constrains('expiry_date')
def check_expr_date(self):
    for each in self:
        exp_date = each.expiry_date
        if expiry_date < date.today():
            raise Warning('Your Document Is Already Expired.')

expiry_date = fields.Date(string='Expiry Date', copy=False)
从datetime导入datetime、date、timedelta
来自odoo导入模型、字段、api、_
从odoo.exceptions导入警告
H类员工文档(models.Model):
_name='hr.employee.document'
_description=‘HR员工文档’
@api.Constraints(‘到期日’)
def检查出口日期(自):
对于每个人自己:
exp\u date=每个到期日
如果到期日
问题在于这一行

expiry_date = fields.Date(string='Expiry Date', copy=False)
odoo
->
字段
的文档中,它需要一个日期字符串,即您提供的
string='expiration date'
,它是无意义的,因此
expiration\u date
将被分配一个bool,它是
False
,因为它不是有效的数据字符串

您需要更改为:

expiry_date = fields.Date(string='2014-06-15', copy=False)
它应该会起作用


希望这有帮助。

@MohamedFouad,我无法在本地运行您的代码,因为安装odoo需要很长时间。希望我的回答能有所帮助。我正在更改代码并添加if self.expiration\u date:如果字段为空,则效果良好,但如果设置了日期,则会出现以下错误“无法将datetime.date与str进行比较”