Python 使产品名称具有唯一性
我有个问题 当我试图覆盖product.product以使其名称唯一时 我补充说Python 使产品名称具有唯一性,python,openerp-7,Python,Openerp 7,我有个问题 当我试图覆盖product.product以使其名称唯一时 我补充说 import logging from openerp.osv import fields, osv import time import openerp.addons.decimal_precision as dp from openerp.tools import DEFAULT_SERVER_DATE_FORMAT from openerp.tools.translate import _ from open
import logging
from openerp.osv import fields, osv
import time
import openerp.addons.decimal_precision as dp
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT
from openerp.tools.translate import _
from openerp import netsvc
from datetime import datetime, date
class product_override(osv.osv):
_name = 'product.product'
_inherit = 'product.product'
_columns = {
'min_charge' : fields.float(_('Min.Charge')),
}
_sql_constraints = [ ('name_uniq_1', 'unique(name)', _('Name for Product must be unique!')), ]
但它不起作用。有什么帮助吗?我遗漏了什么吗?product.product是通过委托从product.template继承的。名称字段出现在product.template中,而不是product.product中
如果你看一下日志,你会发现
openerp.sql\u db:编程错误:在查询ALTER TABLE product\u product ADD CONSTRAINT product\u product\u name\u uniq\u 1 uniquename中,键中命名的列名不存在
将代码更改为
import logging
from openerp.osv import fields, osv
import time
import openerp.addons.decimal_precision as dp
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT
from openerp.tools.translate import _
from openerp import netsvc
from datetime import datetime, date
class product_template_override(osv.osv):
_name = 'product.template'
_inherit = 'product.template'
_sql_constraints = [ ('name_uniq_1', 'unique(name)', _('Name for Product must be unique!')) ]
class product_override(osv.osv):
_name = 'product.product'
_inherit = 'product.product'
_columns = {
'min_charge' : fields.float(_('Min.Charge')),
}