Odoo 12: Как использовать значения форм в методах @ api.model - PullRequest
0 голосов
/ 05 апреля 2019

Я новичок в форуме.
В настоящее время я работаю с Odoo 12, и у меня возникают некоторые проблемы при общении с Odoo Model с помощью моего виджета Javascript. Шаг за шагом ...
1. Я создаю виджет, который показывает некоторые Google Charts, и единственный способ, который я нашел, состоял в том, чтобы показать код QWeb в пользовательском представлении и назначить виджет в поле Char.
2. Я достиг хорошего подхода, используя rpc в начале: функция, использующая rpc и получающая данные из модуля.
3. ПРОБЛЕМА:
Мне нужно показать два поля даты в форме и использовать эти даты в качестве интервала для моих диаграмм Google: как я могу получить значения даты в моем @ api.model
функция ??
Функция может только читать набор результатов всей таблицы, когда я пытаюсь получить результат (self.init_date), установленный в поле, я всегда получаю «False»
Извините, я не могу опубликовать код сегодня, но в понедельник я опубликую его, если никто не может дать мне ответ.
Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 10 апреля 2019

Декоратор api.model предоставляет вам доступ к методам модели, но не к записям, поэтому их можно вызывать, когда у модели нет записей (см. https://www.odoo.com/documentation/12.0/reference/orm.html#module-odoo.api).

Если метод, который вы написали, предназначен для постоянного получения записи, просто удалите декоратор api.model.

0 голосов
/ 06 апреля 2019

Привет Попробуйте использовать что-то вроде этого

from odoo import api,models, fields, _

class MyCustomModel(models.Model):
    _name = "my.custom.model"

    #... some fields
    date1 =  fields.Date(string="Date 1")
    date2 =  fields.Date(string="Date 2")

    @api.model
    def my_custom_func(self):
        # read all data in table
        all_records = self.env['my.custom.model'].search([])
        for rec in all_records:
            print(rec.date1, rec.date2)

это простой пример для доступа к date1 и date2 для всех записей

...