Перейти к содержимому
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
Об этом форуме
Помощь

Odoo docs Chapter 12: Inheritance

Подписаться

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

Этот вопрос был отмечен
developmentdebug
1 Ответить
1763 Представления
Аватар
Kareem
Python Inheritance -> 

 Exercise

Add business logic to the CRUD methods.

  • Prevent deletion of a property if its state is not ‘New’ or ‘Cancelled’

Tip: create a new method with the example)

any help of what self do

vals : data send from form

self : ?????

it's a way to query the data from the data base .

​or

​it 's have the context send from ui and if it's the context how can i debug or print this object to navigate throw it's member




@api.model_create_multi
def create(self, vals):
for val in vals:
# get estate_property
estate_property = self.env["estate.property"].browse(val["property_id"])

estate_property.state = "offer_Received"
# get list of estate_property_offers from estate_property
estate_property_offers = estate_property.offer_ids

new_val = val["price"]
max_all_value_before_save = max(estate_property_offers.mapped("price"), default=0.0)

if new_val < max_all_value_before_save:
raise UserError("Price must bigger than the highest offers")

return super().create(vals)
1
Аватар
Отменить
Kareem
Автор

thank u  Chathura , your answer help me lot 


In your code, create(self, vals) is a method being decorated with @api.model_create_multi, which means,

  • self is the model class ===> estate.property
  • vals is a list of dictionaries containing the values to create multiple records --> = offer_ids with id == 0 
  • print(vals)


estate_property = self.env["estate.property"].browse(val["property_id"])

so this code working because  estate.property is the model class 

 and i get estate_property_offers from estate.property


self.env["estate.property.type"].browse(val["property_type_id"]) --> throw error 

but this not, so if i want to get to any look up i need deal with model class estate.property  first

is that's right  and if i want to query estate_property_offers  it's have another  method 

@api.model_create_multi


def create(self, vals):
for val in vals:
# get estate_property
estate_property = self.env["estate.property"].browse(val["property_id"])

estate_property.state = "offer_Received"
# get list of estate_property_offers from estate_property
estate_property_offers = estate_property.offer_ids

new_val = val["price"]
max_all_value_before_save = max(estate_property_offers.mapped("price"), default=0.0)

if new_val < max_all_value_before_save:
raise UserError("Price must bigger than the highest offers")

return super().create(vals)



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

Hello Kareem,

In Odoo, self represents the current object instance. When you define methods in an Odoo model, self is the first parameter and it refers to,

  1. In a regular method - The recordset (collection of records) you're working with
  2. In the @api.model decorated methods - The model class itself (not a specific record)

In your code, create(self, vals) is a method being decorated with @api.model_create_multi, which means,

  • self is the model class
  • vals is a list of dictionaries containing the values to create multiple records

Hope this helps.

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

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

Регистрация
Похожие посты Ответы Просмотры Активность
(((guia-ayuda)))¿Cómo llamar a Latam Chile desde celular?
development debug
Аватар
0
дек. 25
1
Testing of computed field in Odoo 18 extension dev
development debug
Аватар
1
нояб. 25
642
How do I correctly create a calculated field to sum two other field values in Odoo Studio (Odoo Online)? Решено
development debug
Аватар
Аватар
2
нояб. 25
759
How can I make buttons in Odoo 18? Решено
development debug
Аватар
Аватар
Аватар
3
сент. 25
1745
Problem when creating my first module locally
development debug
Аватар
Аватар
Аватар
Аватар
Аватар
4
авг. 25
2205
Сообщество
  • Видео уроки
  • Документация
  • Форум
Открытый исходный код
  • Скачать
  • 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