Я создал пользовательскую модель с именем Product_Videos, которая будет содержать несколько видео для одного продукта. Вот моя модель: из моделей импорта odoo, полей, API
class Product_Videos(models.Model):
_name = "product.videos"
embed_id = fields.Char(string='Embed Code Id')
product_id = fields.Many2one("product.template", "Product")
Затем я унаследовал модель продукта, чтобы связатьto Product_Videos: из моделей импорта odoo, api, поля
class Product(models.Model):
_inherit = "product.template"
# Tab Fields
x_videos = fields.One2many("product.videos", "product_id", "Videos")
Теперь я унаследовал представление шаблона продукта и добавил новую вкладку под названием видео следующим образом:
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<data>
<record id="product.tabs-inherited" model="ir.ui.view">
<field name="name">product.template.tabs</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_only_form_view" />
<field name="arch" type="xml">
<xpath expr="//page[@name='notes']" position="after">
<page string="Videos" name="videos">
<field name="x_videos"/>
</page>
</xpath>
</field>
</record>
</data>
</odoo>
Теперь на новойвкладка, он показывает только идентификатор видео в древовидном представлении, я хочу, чтобы он отображал другие поля, такие как код для встраивания, поэтому я унаследовал последнее представление:
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="product-video-inherited" model="ir.ui.view">
<field name="name">product.video.embed</field>
<field name="model">product.videos</field>
<field name="inherit_id" ref="product.tabs-inherited" />
<field name="arch" type="xml">
<xpath expr="//page[@name='videos']" position="inside">
<field name="embed_id" />
</xpath>
</field>
</record>
</odoo>
Но когда я обновляю модуль, яполучаю:
Поле product_variant_count
не существует
Я понятия не имею, откуда берется это поле product_variant_count, но я заметил, что если я заменю
<field name="model">product.videos</field>
С другой моделью, такой как product.template Работает просто отлично.
Есть идеи?Спасибо