Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
4 Odpowiedzi
11984 Widoki
Awatar
Odrzuć

provide us your code in detail in description itself

Najlepsza odpowiedź

In python to add,

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

 

Awatar
Odrzuć
Autor

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!'), ]

Autor

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

Autor

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.

Autor

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...

Najlepsza odpowiedź

Hi

Add this code in py file

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

Awatar
Odrzuć
Autor

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

Autor

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.

Autor

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...

Najlepsza odpowiedź

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

Awatar
Odrzuć
Najlepsza odpowiedź

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.

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
2
wrz 17
8718
1
mar 15
7842
2
sie 25
3423
1
lut 22
3727
2
wrz 18
7123