使产品名称唯一
Make product name to be unique
我有一个问题
当我尝试覆盖 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 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。 name 字段出现在 product.template 中,而不是 product.product
如果你查看日志你会得到
openerp.sql_db: Programming error: column "name" named in key does not exist, in query ALTER TABLE "product_product" ADD CONSTRAINT "product_product_name_uniq_1" unique(name)
将代码更改为
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')),
}
我有一个问题 当我尝试覆盖 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 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。 name 字段出现在 product.template 中,而不是 product.product
如果你查看日志你会得到
openerp.sql_db: Programming error: column "name" named in key does not exist, in query ALTER TABLE "product_product" ADD CONSTRAINT "product_product_name_uniq_1" unique(name)
将代码更改为
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')),
}