class marcos_artwork(osv.osv):
def _check_appraisal_price(self, cr, uid, ids, context=None):
record = self.pool.get('appraisal_price')
if record<0:
return False
return True
"""artwork class"""
_name = 'marcos.artwork'
_columns = {
'name': fields.char('Artwork',size=32,required=True),
'description': fields.char('Description',size=200),
'appraisal_price': fields.integer('Appraisal price' ),
'createArtWork': fields.integer('Year of creation'),
'award': fields.boolean('Award'),
'barcode': fields.integer('Barcode'),
'commission': fields.integer('Commission',size=10),
'author_ids': fields.many2one('marcos.author', 'Author'),
'typeartwork_ids': fields.many2one('marcos.artwork_type', 'Artwork Type'),
'owner_ids': fields.many2one('marcos.owner','Owner'),
'style_ids': fields.many2one('marcos.style','Style'),
'lots_ids': fields.many2many('marcos.lots','artworks_lots_form_rel','id_artwork','id_lot','Artworks'),
}
_defaults = {
'award': lambda *a: False,
}
_sql_constraints = [
('name_uniqe', 'unique(name)', 'only equals name!'),
('barcode_uniqe', 'unique(barcode)', 'only equals barcode!')
]
_constraints = [(_check_appraisal_price, 'Error: Length must be Positive', ['appraisal_price'])]
marcos_artwork()
当我想安装模块时,会显示以下错误:
^{pr2}$我的功能是检查评估价格是否为正。在
有人能帮我吗?在
你的价格检查不会这样做的。这里最大的问题是线路
那是不对的。
self.pool.get
将为您提供“业务模型”的实例,如'marcos.artwork'
,但您需要检查一些字段值。在在本例中,您甚至不需要
self.pool.get
,因为您已经使用了此模型,可以使用self
。在下面是您需要的代码(您可以在插件中找到许多示例):
^{pr2}$我不知道这个具体的框架。但我想从代码来看,它是某种“orm”风格的类。将某些行为映射到某种类型的数据库/表。如果没有完整的stacktrace很难判断,但我相信错误是您传递的是
__check_appraisal_price
函数作为引用,而不是函数的结果-这可能是_check_appraisal_price(arg,arg2, etc)
相关问题 更多 >
编程相关推荐