Перейти к содержимому
Odoo Меню
  • Войти
  • Попробовать бесплатно
  • Модули
    Финансы
    • Бухгалтерия
    • Выставление счетов
    • Расходы
    • Таблицы
    • Документооборот
    • Подпись
    Продажи
    • CRM
    • Продажи
    • POS Магазин
    • POS Ресторан
    • Подписки
    • Аренда
    Вебсайты
    • Конструктор вебсайтов
    • eCommerce
    • Блог
    • Форум
    • Онлайн-чат
    • Электронное обучение
    Логистика
    • Склад
    • Производство
    • PLM
    • Закупки
    • Обслуживание
    • Качество
    Отдел кадров
    • Сотрудники
    • Подбор персонала
    • Отпуска
    • Оценка персонала
    • Реферальная программа
    • Автопарк
    Маркетинг
    • SMM
    • E-mail рассылки
    • СМС рассылки
    • Мероприятия
    • Автоматизация маркетинга
    • Опросы
    Услуги
    • Проекты
    • Табели
    • Выездной сервис
    • Поддержка
    • Планирование
    • Встречи
    Продуктивность
    • Обсуждения
    • Согласование
    • IoT
    • VoIP-телефония
    • Knowledge
    • WhatsApp
    Сторонние приложения Модуль Студия Odoo Платформа Odoo Cloud
  • Индустрии
    Розничная торговля
    • Книжный магазин
    • Магазин одежды
    • Мебельный магазин
    • Продуктовый магазин
    • Строительный магазин
    • Магазин игрушек
    Гостинично-ресторанный бизнес
    • Бар и паб
    • Ресторан
    • Фастфуд
    • Гостевой дом
    • Дистрибьютор напитков
    • Отель
    Недвижимость
    • Агентство недвижимости
    • Архитектурное бюро
    • Строительство
    • Управление недвижимостью
    • Ландшафтный дизайн
    • Товарищество собственников жилья
    Консалтинг
    • Бухгалтерская фирма
    • Партнер Odoo
    • Маркетинговое агентство
    • Юридическая фирма
    • Подбор персонала
    • Аудиторское бюро
    Производство
    • Текстиль
    • Металл
    • Мебель
    • Продукты питания
    • Пивоварня
    • Корпоративные сувениры
    Здоровье и фитнес
    • Спортивный комплекс
    • Магазин оптики
    • Фитнес-клуб
    • Велнес-центр
    • Аптека
    • Салон красоты
    Услуги
    • Специалист по бытовым услугам
    • Продажа и обслуживание IT-оборудования
    • Солнечные энергосистемы
    • Производство обуви
    • Клининг
    • Системы ОВКВ
    Прочее
    • Некоммерческая организация
    • Консалтинг в сфере устойчивого развития
    • Аренда рекламных щитов
    • Бизнес по фотосъемке
    • Прокат велосипедов
    • Реселлер программного обеспечения
    Все индустрии
  • Community
    Обучение
    • Видео уроки
    • Документация
    • Сертификация
    • Тренинг
    • Блог
    • Подкаст
    Образование и развитие
    • Образовательная программа
    • Деловая игра Scale Up!
    • Экскурсия в офис Odoo
    ПО
    • Скачать
    • Сравнить версии
    • Релизы
    Сотрудничество
    • Github
    • Форум
    • Мероприятия
    • Перевод
    • Стать партнером
    • Услуги для партнеров
    • Зарегистрировать бухгалтерскую фирму
    Услуги
    • Найти партнера
    • Найти бухгалтера
    • Встреча с экспертом
    • Услуги по внедрению
    • Отзывы клиентов
    • Поддержка
    • Обновления
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Заказать демонстрацию
  • Цены
  • Поддержка

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Бухгалтерия
  • Склад
  • PoS
  • Проекты
  • MRP
All apps
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Все посты Люди Значки
Теги (Смотреть все)
odoo accounting v14 pos v15
Об этом форуме
Помощь

How can i add Unique constriant to field in openerp?

Подписаться

Получайте уведомления о появлении активности в этом посте

Этот вопрос был отмечен
constraintunique
4 Ответы
13214 Представления
Аватар
samba
0
Аватар
Отменить
Atchuthan - Technical Consultant, Sodexis Inc

provide us your code in detail in description itself

Аватар
Prakash
Лучший ответ

In python to add,

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

 

1
Аватар
Отменить
samba
Автор

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

Prakash

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.

Prakash

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

samba
Автор

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

Prakash

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

samba
Автор

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

Prakash

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.

samba
Автор

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

Аватар
Jagdish Panchal
Лучший ответ

Hi

Add this code in py file

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

2
Аватар
Отменить
samba
Автор

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

Jagdish Panchal

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

Jagdish Panchal

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

samba
Автор

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.

samba
Автор

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

Аватар
jonathan hartley
Лучший ответ

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

0
Аватар
Отменить
Аватар
Mariusz Mizgier
Лучший ответ

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.

0
Аватар
Отменить
Не оставайтесь в стороне – присоединяйтесь к обсуждению!

Создайте аккаунт сегодня, чтобы получить доступ к эксклюзивным функциям и стать частью нашего замечательного сообщества!

Регистрация
Похожие посты Ответы Просмотры Активность
How to add a unique constraint on res.partner table's "mobile" column from Settings Tab -> Database Structure in Odoo 10 ? Решено
constraint unique odoo10.0
Аватар
Аватар
2
сент. 17
9889
how to set unique number?
sequence constraint unique
Аватар
Аватар
1
мар. 15
8782
How can we add a unique field using Studio?
constraint unique studio v15
Аватар
Аватар
Аватар
2
дек. 25
6235
unique constraint on 2 fields one of them is many2many Решено
constraint unique many2many v15
Аватар
1
февр. 22
4685
Sql constraint for boolean field Решено
constraint
Аватар
Аватар
Аватар
2
сент. 18
8045
Сообщество
  • Видео уроки
  • Документация
  • Форум
Открытый исходный код
  • Скачать
  • Github
  • Runbot
  • Перевод
Услуги
  • Хостинг Odoo.sh
  • Поддержка
  • Обновление
  • Индивидуальные решения по доработке
  • Образование
  • Найти бухгалтера
  • Найти партнера
  • Стать партнером
О нас
  • Наша компания
  • Активы бренда
  • Cвяжитесь с нами
  • Вакансии
  • Мероприятия
  • Подкаст
  • Блог
  • Клиенты
  • Правовые документы • Конфиденциальность
  • Безопасность
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo – это набор бизнес-модулей с открытым исходным кодом, который закроет все потребности вашей компании: CRM, E-commerce, Бухгалтерия, Склад, POS, управление проектами и др.

Odoo сочетает в себе простоту использования и полную интеграцию всех бизнес-процессов в одной системе.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now