Сначала я создаю одно вычислительное поле для наследования ir.model. Вот так:
from odoo import api, fields, models, _
from odoo.http import request
class ir_models(models.Model):
_inherit = 'ir.model'
website_models = fields.Boolean('Allowed Website Model' ,compute='_is_website_models')
@api.depends('website_models')
def _is_website_models(self):
for models in self:
fields = request.env['ir.model.fields'].search([('model_id', '=', models.id)])
for field in fields:
if field.name == 'website_url':
models.website_models = True
Тогда я хочу использовать это поле в XML-файл (в поле зрения)
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_res_config_settings_website_search_ept" model="ir.ui.view">
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="website.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@id='languages_setting']" position="after">
<div class="col-xs-12 col-md-6 o_setting_box" id="model_settings">
<div class="o_setting_right_pane">
<label string="Website Serach"/>
<div class="text-muted">
<b>Configure Models Name</b>
</div>
<field name="model_id" widget="many2many_tags" domain="[('website_models', '=', True)]"/>
</div>
</div>
</xpath>
</field>
</record>
Но он не используется в XML-файле, потому что это поле не хранится в базе данных.
Тогда как это использовать ??
Пожалуйста, дайте ответ.
И спасибо заранее за помощь.