【发布时间】:2017-09-06 10:38:02
【问题描述】:
已解决 // 显然代码没有问题,但使用 odoo,服务器没有正确刷新应用程序,仅更新 xml 文件,同时保留旧的 .py 文件,更新应用程序列表和重新安装模块解决了问题,谢谢大家的帮助。
进一步参考:似乎 odoo 在 python 方面存在问题,阅读制表/空格的基本问题,亲提示:永远不要使用制表符而是空格,并在 .py 中的任何声明之前将其中的 4 个推到第二个此处发布的部分问题。
总结:问题不在代码方面,而是在 odoo 方面,刷新 .py 文件时遇到问题,读取表格或任何空格时出现问题,解决方法很简单但很烦人:停止 odoo 服务,删除 .pyc模块中的文件,删除 .py 代码中的任何制表并将其更改为空格(最好是 4 个以换取单个制表),重新启动您的 odoo 服务器,更新您的应用程序列表并安装您的模块 - 正如我所说的它唯一的解决方法和它的耻辱甚至在版本 10 中也存在这样的问题
大家好,我在 odoo 中安装自定义模块时遇到问题,它只是简单的 model.py 和 main_view.xml(附加信息:它的新 odoo 安装)
有些人可能想知道,除了 init.py、manifest.py、models.py、main_view.xml
之外没有不同的文件错误:
ParseError: "project_manager.start" while parsing file:///C:
/Program%20Files%20(x86)/Odoo%2010.0/server/odoo/addons/project_manager
/views/main_view.xml:3, near record id="first"
model="project_manager.start">
field name="name">Test_Name</field>
</record>
模型.py:
from odoo import models, fields
class project_manager(models.Model):
_name = 'project_manager.start'
name = fields.Char(required=true)
value = fields.Integer()
description = fields.Text(string="Description_Test")
main_view.xml:
<odoo>
<data>
<record id='first' model='project_manager.start'>
<field name='name'>Test_Name</field>
</record>
</data>
</odoo>
即使这是很简单的情况恕我直言,我也完全没有想法,在此先感谢
编辑 // 在@Heroic 建议后我收到:
ParseError: "Error while validating constraint
Nie znaleziono modelu: project_manager.start
Error context:
View `project_manager.start.form`
[view_id: 208, xml_id: n/a, model: project_manager.start, parent_id: n/a]
None" while parsing file:///C:/Program%20Files%20(x86)/Odoo%2010.0/server
/odoo/addons/project_manager/views/main_view.xml:4, near
<record id="your_form_unique_id" model="ir.ui.view">
<field name="name">project_manager.start.form</field>
<field name="model">project_manager.start</field>
<field name="arch" type="xml">
<form string="">
<sheet>
<group>
<field name="name" string="Test Name"/>
</group>
</sheet>
</form>
</field>
</record>
Edit2 // 在 odoo 中寻找最容易理解的默认安装模块后,我选择了采购模块,并比较了我的模型与该模块中相同的关系,因此我无法提供有关此问题的任何更体面的信息
编辑 // 由于@Dayana 请求,我发布了当前的 main_view.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<record id="first" model="ir.ui.view">
<field name="name">projectm.start.form</field>
<field name="model">projectm.start</field>
<field name="arch" type="xml">
<form string="Test">
<group>
<field name="name"/>
</group>
</form>
</field>
</record>
</data>
</odoo>
在代码中,我在 main_view.xml 和 models.py 中将“project_manager”标签更改为“projectm”
【问题讨论】:
-
你是否在 init.py 中添加了 model.py,检查你的目录结构
-
project_manager/models/__init__.py 包含:来自 .导入模型、字段,而 project_manager/__init__.py 包含: from .从导入控制器。导入模型