0

我刚刚创建了新的自定义模块,但我希望在模块中显示表单视图。

我使用脚手架的方法来拖拽模块所需的所有文件,但是当我尝试影响文件view.xml以便我可以反映我已经包含的字段时它给了我一个错误,我不知道如何解决它。

这是我对 view.xml 的代码:

    <odoo>
  <data>
    <!-- explicit list view definition -->

    <record model="ir.ui.view" id="secondmodule.list">
      <field name="name">secondmodule list</field>
      <field name="model">second.module</field>
      <field name="arch" type="xml">
        <tree>
          <field name="name"/>
          <field name="value"/>
          <field name="value2"/>
        </tree>
      </field>
    </record>


    <!-- actions opening views on models -->

    <record model="ir.actions.act_window" id="secondmodule.action_window">
      <field name="name">secondmodule window</field>
      <field name="res_model">second.module</field>
      <field name="view_mode">tree,form</field>
    </record>


    <!-- server action to the one above -->

    <record model="ir.actions.server" id="secondmodule.action_server">
      <field name="name">secondmodule server</field>
      <field name="model_id" ref="model_secondmodule_secondmodule"/>
      <field name="state">code</field>
      <field name="code">
        action = {
          "type": "ir.actions.act_window",
          "view_mode": "tree,form",
          "res_model": model._name,
        }
      </field>
    </record>


    <!-- Top menu item -->

    <menuitem name="secondmodule" id="secondmodule.menu_root"/>

    <!-- menu categories -->

    <menuitem name="Part 1" id="secondmodule.menu_1" parent="secondmodule.menu_root"/>
    <menuitem name="Part 2" id="secondmodule.menu_2" parent="secondmodule.menu_root"/>

    <!-- actions -->

    <menuitem name="List" id="secondmodule.menu_1_list" parent="secondmodule.menu_1"
              action="secondmodule.action_window"/>
    <menuitem name="Server to list" id="secondmodule" parent="secondmodule.menu_2"
              action="secondmodule.action_server"/>

  </data>
</odoo>

这里写的所有代码都来自预置的脚手架方法

现在这是我从 models.py 文件中获得的代码:

from odoo import models, fields,api


class secondmodule(models.Model):
     _name = 'second.module'

     _description = 'This is the Second Module'

     name = fields.Char(string="name", required=True)
     edad = fields.Integer(string="age")
     life_goal = fields.Text(string="Wh?")
     favorite_thing = fields.Char(string="Que le gusta hacer?")
     end_date = fields.Date(string="Ultima fecha de felicidad")
     value = fields.Date(string="value")
     value2 = fields.Date(string="value2")
    



So everything looks cool until now, and then this error comes up when I try to upgrade the model in the apps section:



    Traceback (most recent call last):
  File "C:\odooo\odoo\odoo\tools\cache.py", line 85, in lookup
    r = d[key]
  File "C:\odooo\odoo\odoo\tools\func.py", line 71, in wrapper
    return func(self, *args, **kwargs)
  File "C:\odooo\odoo\odoo\tools\lru.py", line 34, in __getitem__
    a = self.d[obj]
KeyError: ('ir.model.data', <function IrModelData._xmlid_lookup at 0x000001CAEB7EE0D0>, 'secondmodule.model_secondmodule_secondmodule')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\odooo\odoo\odoo\tools\convert.py", line 680, in _tag_root
    f(rec)
  File "C:\odooo\odoo\odoo\tools\convert.py", line 567, in _tag_record
    f_val = self.id_get(f_ref)
  File "C:\odooo\odoo\odoo\tools\convert.py", line 663, in id_get
    res = self.model_id_get(id_str, raise_if_not_found)
  File "C:\odooo\odoo\odoo\tools\convert.py", line 669, in model_id_get
    return self.env['ir.model.data']._xmlid_to_res_model_res_id(id_str, raise_if_not_found=raise_if_not_found)
  File "C:\odooo\odoo\odoo\addons\base\models\ir_model.py", line 1935, in _xmlid_to_res_model_res_id
    return self._xmlid_lookup(xmlid)[1:3]
  File "<decorator-gen-35>", line 2, in _xmlid_lookup
  File "C:\odooo\odoo\odoo\tools\cache.py", line 90, in lookup
    value = d[key] = self.method(*args, **kwargs)
  File "C:\odooo\odoo\odoo\addons\base\models\ir_model.py", line 1928, in _xmlid_lookup
    raise ValueError('External ID not found in the system: %s' % xmlid)
ValueError: External ID not found in the system: secondmodule.model_secondmodule_secondmodule

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\odooo\odoo\odoo\addons\base\models\ir_http.py", line 237, in _dispatch
    result = request.dispatch()
  File "C:\odooo\odoo\odoo\http.py", line 688, in dispatch
    result = self._call_function(**self.params)
  File "C:\odooo\odoo\odoo\http.py", line 360, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\odooo\odoo\odoo\service\model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\odooo\odoo\odoo\http.py", line 349, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\odooo\odoo\odoo\http.py", line 917, in __call__
    return self.method(*args, **kw)
  File "C:\odooo\odoo\odoo\http.py", line 536, in response_wrap
    response = f(*args, **kw)
  File "c:\odooo\odoo\addons\web\controllers\main.py", line 1352, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "c:\odooo\odoo\addons\web\controllers\main.py", line 1340, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "C:\odooo\odoo\odoo\api.py", line 464, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "C:\odooo\odoo\odoo\api.py", line 451, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-80>", line 2, in button_immediate_upgrade
  File "C:\odooo\odoo\odoo\addons\base\models\ir_module.py", line 74, in check_and_log
    return method(self, *args, **kwargs)
  File "C:\odooo\odoo\odoo\addons\base\models\ir_module.py", line 662, in button_immediate_upgrade
    return self._button_immediate_function(type(self).button_upgrade)
  File "C:\odooo\odoo\odoo\addons\base\models\ir_module.py", line 600, in _button_immediate_function
    registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "C:\odooo\odoo\odoo\modules\registry.py", line 87, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "C:\odooo\odoo\odoo\modules\loading.py", line 470, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "C:\odooo\odoo\odoo\modules\loading.py", line 363, in load_marked_modules
    loaded, processed = load_module_graph(
  File "C:\odooo\odoo\odoo\modules\loading.py", line 222, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package)
  File "C:\odooo\odoo\odoo\modules\loading.py", line 69, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
  File "C:\odooo\odoo\odoo\tools\convert.py", line 745, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate)
  File "C:\odooo\odoo\odoo\tools\convert.py", line 811, in convert_xml_import
    obj.parse(doc.getroot())
  File "C:\odooo\odoo\odoo\tools\convert.py", line 731, in parse
    self._tag_root(de)
  File "C:\odooo\odoo\odoo\tools\convert.py", line 680, in _tag_root
    f(rec)
  File "C:\odooo\odoo\odoo\tools\convert.py", line 693, in _tag_root
    raise ParseError('while parsing %s:%s, somewhere inside\n%s' % (
Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\odooo\odoo\odoo\http.py", line 644, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "C:\odooo\odoo\odoo\http.py", line 302, in _handle_exception
    raise exception.with_traceback(None) from new_cause
odoo.tools.convert.ParseError: while parsing file:/c:/odooo/odoo/addons/secondmodule/views/views.xml:29, somewhere inside
<record model="ir.actions.server" id="secondmodule.action_server">
      <field name="name">secondmodule server</field>
      <field name="model_id" ref="model_secondmodule_secondmodule"/>
      <field name="state">code</field>
      <field name="code">
        action = {
          "type": "ir.actions.act_window",
          "view_mode": "tree,form",
          "res_model": model._name,
        }
      </field>
    </record>
4

0 回答 0