The Current Setup
I am attempting to load default data into a module I am designing. To do so, I have my model setup in cra_model.py, and the default data setup in cra_data.xml which is referenced in my __manifest__.py as such:
{
...
'data': ['data/cra_data.xml'],
...
}
Here are the contents of my models and data files.
cra_model.py
# -*- encoding: utf-8 -*-
from odoo import models, fields, api
class CraCats(models.Model):
_name = 'cra.cat'
name = fields.Char('CRA Category')
type = fields.Selection(
[('in','Income'), ('out','Expense')],
string='Income or Expense?')
cra_cat_data.xml
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="cra_cat_a" model="cra.cat">
<field name="name">Income from sales</field>
<field name="type">in</field>
</record>
<record id="cra_cat_b" model="cra.cat">
<field name="name">Purchases for sales</field>
<field name="type">out</field>
</record>
</odoo>
The Problem at Hand
I am able to install the module just fine without the data file reference in the __manifest__.py. As soon as I add the data file reference back, and attempt an install or upgrade of the module, I receive the following traceback on the server. The webui merely gets stuck in a loading state.
2018-01-17 00:48:48,989 83958 CRITICAL Testing odoo.service.server: Failed to initialize database `Testing`. Traceback (most recent call last): File "/usr/local/odoo/odoo/service/server.py", line 911, in preload_registries registry = Registry.new(dbname, update_module=update_module) File "/usr/local/odoo/odoo/modules/registry.py", line 83, in new odoo.modules.load_modules(registry._db, force_demo, status, update_module) File "/usr/local/odoo/odoo/modules/loading.py", line 339, in load_modules loaded_modules, update_module) File "/usr/local/odoo/odoo/modules/loading.py", line 237, in load_marked_modules loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks) File "/usr/local/odoo/odoo/modules/loading.py", line 156, in load_module_graph _load_data(cr, module_name, idref, mode, kind='data') File "/usr/local/odoo/odoo/modules/loading.py", line 95, in _load_data tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report) File "/usr/local/odoo/odoo/tools/convert.py", line 845, in convert_file convert_xml_import(cr, module, fp, idref, mode, noupdate, report) File "/usr/local/odoo/odoo/tools/convert.py", line 898, in convert_xml_import doc = etree.parse(xmlfile) File "src/lxml/lxml.etree.pyx", line 3427, in lxml.etree.parse (src/lxml/lxml.etree.c:85131) File "src/lxml/parser.pxi", line 1803, in lxml.etree._parseDocument (src/lxml/lxml.etree.c:124287) File "src/lxml/parser.pxi", line 1823, in lxml.etree._parseFilelikeDocument (src/lxml/lxml.etree.c:124599) File "src/lxml/parser.pxi", line 1718, in lxml.etree._parseDocFromFilelike (src/lxml/lxml.etree.c:123258) File "src/lxml/parser.pxi", line 1139, in lxml.etree._BaseParser._parseDocFromFilelike (src/lxml/lxml.etree.c:117808) File "src/lxml/parser.pxi", line 573, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:110510) File "src/lxml/parser.pxi", line 683, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:112276) File "src/lxml/parser.pxi", line 613, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:111124) XMLSyntaxError: xmlParseEntityRef: no name, line 16, column 29 |
What am I missing? Where have I gone wrong?
In above given code, there is no errors i think. The error is from xml file, you can check the line number mentioned in the error. probably it may be missing of something or misplaced thing in the XML. check the line 16 and column 29
Ok. I looked into my XML deeper, and saw an & instead of an & the XML was generated from an excel spreadsheet, and I forgot to check for &s.