Odoo 自定义模块 - 第一步因 model_id 失败

问题描述 投票:0回答:1

在我的工作中,我们有一个基于 odoo 的新 ERP 系统。我试图编写自己的模块来尝试理解 odoo 的工作方式,但它因文件 ir.model.access.csv 而失败,我不知道问题是什么。 这是我的文件: 音乐.py

from odoo import fields, models

class Music(models.Model):
    _name = "music"
    _description = "This is Music"

    name = fields.Char("Name")
    title = fields.Char("Title")
    genre = fields.Char("Genre")

我的看法:

    <odoo>
    <data>
        <!--name, model und arch bezieht sich auf irgendwas im model ir.ui.view-->
        <!--name = eindeutiger name-->
        <!--model = der angegebene name in der Klasse-->
        <record id="music_tree_view" model="ir.ui.view">
            <field name="name">music.tree.view</field>
            <field name="model">music</field>
            <field name="arch" type="xml">
                <tree>
                    <field name="name"/>
                    <field name="title"/>
                </tree>
            </field>
        </record>

        <record id="music_form_view" model="ir.ui.view">
            <field name="name">music.form.view</field>
            <field name="model">music</field>
            <field name="arch" type="xml">
                <form string="Music">
                    <group>
                        <field name="name"/>
                        <field name="title"/>
                        <field name="genre"/>
                    </group>
                </form>
            </field>
        </record>

        <record id="music_action" model="ir.actions.act_window">
            <field name="name">Music</field>
            <field name="res_model">music</field>
            <field name="view_mode">tree,form</field>
        </record>

        <menuItem id="music_root_menu"
                    name="Music"
                    />
        
        <menuItem id="music_sub_root_menu"
                    name="All My Music"
                    parent="music_root_menu"
                    />
        
        <menuItem id="music_sub_root_menu"
                    action="music_action"
                    name="My Music List"
                    parent="music_sub_root_menu"
                    />

    </data>
</odoo>

和文件 ir.model.access.csv

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_music,music,model_music,base.group_user,1,1,1,1

您还需要其他文件来帮助吗?

The exception is:

Exception: Laden des Moduls Music fehlgeschlagen: Datei Music\security/ir.model.access.csv konnte nicht verarbeitet werden
Kein passender Datensatz für externe ID „model_music.music“ in Feld „Model“ gefunden
Ein erforderlicher Wert für das Feld „Model“ (model_id) fehlt.

=> no value for the field model_id.

有人可以帮助我吗?

module odoo
1个回答
0
投票

好的,我仍然在 ir.model.access.csv 文件中收到错误:字段 model_id 没有值 这里是音乐文件夹中的所有文件: init.py

from odoo import models

清单.py

{
    'category': "Uncategorized",
    'version': '0.1',
    'depends': ['base'],
    'data': [
        "security/ir.model.access.csv",
        "views/music_view.xml",
    ]
}

音乐->模型->init.py

import music

音乐->模型->music.py

from odoo import fields, models

class Music(models.Model):
    _name = "music"
    _description = "This is Music"

    name = fields.Char("Name")
    title = fields.Char("Title")
    genre = fields.Char("Genre")

音乐->安全->ir.model.access.csv

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_music,music,model_music,base.group_user,1,1,1,1

音乐->视图->music_view.xml

<? xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <!--name, model und arch bezieht sich auf irgendwas im model ir.ui.view-->
        <!--name = eindeutiger name-->
        <!--model = der angegebene name in der Klasse-->
        <record id="music_tree_view" model="ir.ui.view">
            <field name="name">music.tree.view</field>
            <field name="model">music</field>
            <field name="arch" type="xml">
                <tree>
                    <field name="name"/>
                    <field name="title"/>
                </tree>
            </field>
        </record>

        <record id="music_form_view" model="ir.ui.view">
            <field name="name">music.form.view</field>
            <field name="model">music</field>
            <field name="arch" type="xml">
                <form string="Music">
                    <group>
                        <field name="name"/>
                        <field name="title"/>
                        <field name="genre"/>
                    </group>
                </form>
            </field>
        </record>

        <record id="music_action" model="ir.actions.act_window">
            <field name="name">Music</field>
            <field name="res_model">music</field>
            <field name="view_mode">tree,form</field>
        </record>

<!--
    Das Menü:
        Product => Das Menü wo die Apps drinstehen
            All Products => Das obere Menü im Modul
                Product List => Das Untermenü in ALL Products
-->
        <menuItem id="music_root_menu"
                    name="Music"
                    />
        
        <menuItem id="music_sub_root_menu"
                    name="All My Music"
                    parent="music_root_menu"
                    />
        
        <menuItem id="music_sub_sub_root_menu"
                    action="music_action"
                    name="My Music List"
                    parent="music_sub_root_menu"
                    />

    </data>
</odoo>

这就是里面的所有文件。 为什么我会遇到异常?

© www.soinside.com 2019 - 2024. All rights reserved.