custom module - psycopg2.errors.NotNullViolation
Odoo 13.0 CE
Selfhosted, localhost
Database: postgresql, selfhosted on own NAS
Windows 10, Phycharm
Dear all,
I created and installed my own app, I assigned the access to base.group_user in the security file ir.model.access.csv.
In the views.xml I created a menu, that should be visible on the root menu. It doesn't appear there.
When I upgrade the app I receive the below error message.
psycopg2.errors.NotNullViolation: null value in column "activity_user_type" violates not-null constraint
DETAIL: Failing row contains (479, ad_assessment server, ir.actions.server, null, null, action, list,form, 1, 2020-04-13 22:00:19.8789, 1, 2020-04-13 22:00:19.8789, ir_actions_server, code, 5, 344, null,
action = {
"type": "ir.actions.act_window",
..., null, null, null, null, null, null, null, null, null, null, null, null, null).
Do you know how this could be corrected? or what's the cause?
Thank you.
Kind regards,
Full odoo error below:
Error:
Odoo Server Error
Traceback (most recent call last):
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\convert.py", line 712, in parse
self._tag_root(de)
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\convert.py", line 674, in _tag_root
f(rec)
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\convert.py", line 674, in _tag_root
f(rec)
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\convert.py", line 577, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "C:\Users\cot\Odoo 13.0\server\odoo\models.py", line 4080, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "C:\Users\cot\Odoo 13.0\server\odoo\models.py", line 3994, in _load_records_create
return self.create(values)
File "<decorator-gen-34>", line 2, in create
File "C:\Users\cot\Odoo 13.0\server\odoo\api.py", line 336, in _model_create_multi
return create(self, arg)
File "C:\Users\cot\Odoo 13.0\server\odoo\addons\base\models\ir_actions.py", line 59, in create
res = super(IrActions, self).create(vals_list)
File "<decorator-gen-3>", line 2, in create
File "C:\Users\cot\Odoo 13.0\server\odoo\api.py", line 336, in _model_create_multi
return create(self, arg)
File "C:\Users\cot\Odoo 13.0\server\odoo\models.py", line 3742, in create
records = self._create(data_list)
File "C:\Users\cot\Odoo 13.0\server\odoo\models.py", line 3828, in _create
cr.execute(query, params)
File "C:\Users\cot\Odoo 13.0\server\odoo\sql_db.py", line 164, in wrapper
return f(self, *args, **kwargs)
File "C:\Users\cot\Odoo 13.0\server\odoo\sql_db.py", line 241, in execute
res = self._obj.execute(query, params)
psycopg2.errors.NotNullViolation: null value in column "activity_user_type" violates not-null constraint
DETAIL: Failing row contains (479, ad_assessment server, ir.actions.server, null, null, action, list,form, 1, 2020-04-13 22:00:19.8789, 1, 2020-04-13 22:00:19.8789, ir_actions_server, code, 5, 344, null,
action = {
"type": "ir.actions.act_window",
..., null, null, null, null, null, null, null, null, null, null, null, null, null).
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\cot\Odoo 13.0\server\odoo\http.py", line 624, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "C:\Users\cot\Odoo 13.0\server\odoo\http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\pycompat.py", line 14, in reraise
raise value
File "C:\Users\cot\Odoo 13.0\server\odoo\http.py", line 669, in dispatch
result = self._call_function(**self.params)
File "C:\Users\cot\Odoo 13.0\server\odoo\http.py", line 350, in _call_function
return checked_call(self.db, *args, **kwargs)
File "C:\Users\cot\Odoo 13.0\server\odoo\service\model.py", line 93, in wrapper
return f(dbname, *args, **kwargs)
File "C:\Users\cot\Odoo 13.0\server\odoo\http.py", line 339, in checked_call
result = self.endpoint(*a, **kw)
File "C:\Users\cot\Odoo 13.0\server\odoo\http.py", line 915, in __call__
return self.method(*args, **kw)
File "C:\Users\cot\Odoo 13.0\server\odoo\http.py", line 515, in response_wrap
response = f(*args, **kw)
File "C:\Users\cot\Odoo 13.0\server\odoo\addons\web\controllers\main.py", line 1326, in call_button
action = self._call_kw(model, method, args, kwargs)
File "C:\Users\cot\Odoo 13.0\server\odoo\addons\web\controllers\main.py", line 1314, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "C:\Users\cot\Odoo 13.0\server\odoo\api.py", line 387, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "C:\Users\cot\Odoo 13.0\server\odoo\api.py", line 374, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "<decorator-gen-65>", line 2, in button_immediate_upgrade
File "C:\Users\cot\Odoo 13.0\server\odoo\addons\base\models\ir_module.py", line 72, in check_and_log
return method(self, *args, **kwargs)
File "C:\Users\cot\Odoo 13.0\server\odoo\addons\base\models\ir_module.py", line 634, in button_immediate_upgrade
return self._button_immediate_function(type(self).button_upgrade)
File "C:\Users\cot\Odoo 13.0\server\odoo\addons\base\models\ir_module.py", line 573, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "C:\Users\cot\Odoo 13.0\server\odoo\modules\registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "C:\Users\cot\Odoo 13.0\server\odoo\modules\loading.py", line 419, in load_modules
force, status, report, loaded_modules, update_module, models_to_check)
File "C:\Users\cot\Odoo 13.0\server\odoo\modules\loading.py", line 315, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "C:\Users\cot\Odoo 13.0\server\odoo\modules\loading.py", line 225, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "C:\Users\cot\Odoo 13.0\server\odoo\modules\loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\convert.py", line 736, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\convert.py", line 803, in convert_xml_import
obj.parse(doc.getroot())
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\convert.py", line 721, in parse
exc_info[2]
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\pycompat.py", line 13, in reraise
raise value.with_traceback(tb)
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\convert.py", line 712, in parse
self._tag_root(de)
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\convert.py", line 674, in _tag_root
f(rec)
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\convert.py", line 674, in _tag_root
f(rec)
File "C:\Users\cot\Odoo 13.0\server\odoo\tools\convert.py", line 577, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "C:\Users\cot\Odoo 13.0\server\odoo\models.py", line 4080, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "C:\Users\cot\Odoo 13.0\server\odoo\models.py", line 3994, in _load_records_create
return self.create(values)
File "<decorator-gen-34>", line 2, in create
File "C:\Users\cot\Odoo 13.0\server\odoo\api.py", line 336, in _model_create_multi
return create(self, arg)
File "C:\Users\cot\Odoo 13.0\server\odoo\addons\base\models\ir_actions.py", line 59, in create
res = super(IrActions, self).create(vals_list)
File "<decorator-gen-3>", line 2, in create
File "C:\Users\cot\Odoo 13.0\server\odoo\api.py", line 336, in _model_create_multi
return create(self, arg)
File "C:\Users\cot\Odoo 13.0\server\odoo\models.py", line 3742, in create
records = self._create(data_list)
File "C:\Users\cot\Odoo 13.0\server\odoo\models.py", line 3828, in _create
cr.execute(query, params)
File "C:\Users\cot\Odoo 13.0\server\odoo\sql_db.py", line 164, in wrapper
return f(self, *args, **kwargs)
File "C:\Users\cot\Odoo 13.0\server\odoo\sql_db.py", line 241, in execute
res = self._obj.execute(query, params)
odoo.tools.convert.ParseError: "null value in column "activity_user_type" violates not-null constraint
DETAIL: Failing row contains (479, ad_assessment server, ir.actions.server, null, null, action, list,form, 1, 2020-04-13 22:00:19.8789, 1, 2020-04-13 22:00:19.8789, ir_actions_server, code, 5, 344, null,
action = {
"type": "ir.actions.act_window",
..., null, null, null, null, null, null, null, null, null, null, null, null, null).
" while parsing file:/c:/users/cot/odoo 13.0/server/addons/ad_assessment/views/views.xml:3, near
<odoo>
<data>
<record id="action_ad_assessment" model="ir.actions.act_window">
<field name="name">AD assessment</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.partner</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="base.view_res_partner_filter"/>
<field name="context">{'default_is_company': True}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a contact in your address book
</p><p>
Odoo helps you to easily track all activities related to a customer.
</p>
</field>
</record>
<!-- <!– explicit list view definition –>-->
<!-- <record model="ir.ui.view" id="ad_assessment.list">-->
<!-- <field name="name">ad_assessment list</field>-->
<!-- <field name="model">ad_assessment</field>-->
<!-- <field name="arch" type="xml">-->
<!-- <tree>-->
<!-- <field name="name"/>-->
<!-- <field name="acModel"/>-->
<!-- <field name="country"/>-->
<!-- <field name="adSubject"/>-->
<!-- <field name="sbReference"/>-->
<!-- <field name="issueDate"/>-->
<!-- <field name="effectiveDate"/>-->
<!-- <field name="product"/>-->
<!-- <field name="oem"/>-->
<!-- </tree>-->
<!-- </field>-->
<!-- </record>-->
<!-- explicit tree view definition -->
<record id="action_ad_assessment_view_tree" model="ir.actions.act_window.view">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="base.view_partner_tree"/>
<field name="act_window_id" ref="action_ad_assessment"/>
</record>
<record id="action_ad_assessment_view_form" model="ir.actions.act_window.view">
<field name="sequence" eval="2"/>
<field name="view_mode">form</field>
<field name="view_id" ref="base.view_partner_form"/>
<field name="act_window_id" ref="action_ad_assessment"/>
</record>
<!-- actions opening views on models -->
<record model="ir.actions.act_window" id="ad_assessment.act_window">
<field name="name">ad_assessment window</field>
<field name="type">ir.action.act_window</field>
<field name="res_model">ad_assessment</field>
<field name="view_mode">tree,form</field>
<field name="context">{'default_is_company': True}</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a contact in your address book
</p><p>
Odoo helps you to easily track all activities related to a customer.
</p>
</field>
</record>
<!-- server action to the one above -->
<record model="ir.actions.server" id="ad_assessment.action_server">
<field name="name">ad_assessment server</field>
<field name="model_id" ref="model_ad_assessment"/>
<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="AD tool" id="ad_assessment.menu_root" sequence="1" groups="base.group_user"/>
<!-- menu categories -->
<menuitem name="Menu 1" id="ad_assessment.menu_1" parent="ad_assessment.menu_root"/>
<menuitem name="Menu 2" id="ad_assessment.menu_2" parent="ad_assessment.menu_root"/>
<!-- actions -->
<menuitem name="List" id="ad_assessment.menu_1_list" parent="ad_assessment.menu_1" action="ad_assessment.action_window"/>
<menuitem name="Server to list" id="ad_assessment" parent="ad_assessment.menu_2" action="ad_assessment.action_server"/>
</data>
</odoo>
I just have the similar error as yours. May i know if your problem is solved. If so, what did you do? Thank you.