コンテンツへスキップ
メニュー
この質問にフラグが付けられました
4 返信
11745 ビュー
アバター
破棄

provide us your code in detail in description itself

最善の回答

In python to add,

   _sql_constraints = [
        ('name_uniq', 'unique (name)', 'The name must be unique !')
    ]

 

アバター
破棄
著作者

I have written like this it's not working class product_extension(osv.osv): _inherit = "product.product" _columns = { 'product_code_uniq':fields.char('SKU/Product Code', size=64, help="Enter Code", required=True), } _sql_constraints = [ ('product_code_uniq', 'unique(product_code_uniq)', 'Product Code must be unique!'), ]

Check the product.product form or table if already unique present in the table then remove the records. After that Restart the server and update the module.

I think field name is "product_code" so your_sql_constraints = [ ('product_code_uniq', 'unique(product_code)', 'Product Code must be unique!'), ]

著作者

Thank you prakash, to spent your valuable time with me. But this also not working. I have restatrt server and upgrade my module every time when i do any code changes. _inherit = "product.product" _columns = { 'product_code':fields.char('SKU/Product Code', size=64, help="Enter Code", required=True), } _sql_constraints = [ ('product_code_uniq', 'unique(product_code)', 'Product Code must be unique!'), ]

Please make sure 'product_code' column in available in product.product table?. Default openerp 'default_code' code is available. Refer the link https://www.odoo.com/forum/help-1/question/why-sql-constraints-not-working-39549

著作者

previcously product_code not available. I want to add product_code. After my module installation the field is available in product_product table. Please check my .py file from openerp.osv import fields, osv import os.path import fnmatch from tools.translate import _ class product_extension(osv.osv): _inherit = "product.product" _columns = { 'product_code':fields.char('SKU/Product Code', size=64, help="Enter Code", required=True), } _sql_constraints = [ ('product_code_uniq', 'unique(product_code)', 'Product Code must be unique!'), ] and .xml file product.normal.form.view.extension.formproduct.productproduct.normal.tree.view.extension.formproduct.product

using DB pg_admin you can easily check Column and Constraints are created Steps 1)Select the table you want 2) Ctrl-Alt-Enter or right-click / Properties 3) Select "Columns" tab 4) Select "Constraints" tab otherwise issues in the custom module.

著作者

Thank you prakash, I got the problem. I have removed all the products which have the value of "product_code" field. I have started working with new product, then this constraint working...

最善の回答

Hi

Add this code in py file

    _sql_constraints = [
        ('your_field_uniq', 'unique(your_field)', 'your_field must be unique!'),
    ]

アバター
破棄
著作者

I have written like this it's not working class product_extension(osv.osv): _inherit = "product.product" _columns = { 'product_code_uniq':fields.char('SKU/Product Code', size=64, help="Enter Code", required=True), } _sql_constraints = [ ('product_code_uniq', 'unique(product_code_uniq)', 'Product Code must be unique!'), ]

Hi try this _inherit = "product.product" _columns = { 'product_code':fields.char('SKU/Product Code', size=64, help="Enter Code", required=True), } _sql_constraints = [ ('product_code_uniq', 'unique(product_code)', 'Product Code must be unique!'), ]

upgrade your module, if there is value in this field is duplicate in old product then it not apply

著作者

Thank you jagdish, to spent your valuable time with me. But this also not working. I have restatrt server and upgrade my module every time when i do any code changes.

著作者

Thank you jagadish, I got the problem. I have removed all the products which have the value of "product_code" field. I have started working with new product, then this constraint working...

最善の回答

Where the heck is "_sql_constraints" documented? (I'd add this as a comment, but the stoopid karma system won't let me.)

アバター
破棄
最善の回答

samba - if you have such issue, when column is populated with data, you should add that sql_constraint into your code, but as well you should try to get this column having distinct values, then manually try to set a sql constraint on your database - that will work for sure. Just remember to make sure that column has no duplicate value and then create a key.

アバター
破棄
関連投稿 返信 ビュー 活動
2
9月 17
8387
1
3月 15
7633
1
8月 22
2736
1
2月 22
3471
2
9月 18
6841