Reputation: 366
I am getting an error adding a new field to an Odoo 8 module. When I comment it out of the view, it works. When it is in, I get the following error:
ParseError: "ValidateError
Field(s) arch
failed against a constraint: Invalid view definition
Error details:
Field filedata
does not exist
Error context:
View course.form
This is my models.py file:
from openerp import models, fields, api
class Course(models.Model):
_name = 'openacademy.course'
name = fields.Char(string="Title", required=True)
description = fields.Text()
filedata = fields.Binary('File')
And this is an extract from my view file views/openacademy.xml
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="course_form_view">
<field name="name">course.form</field>
<field name="model">openacademy.course</field>
<field name="arch" type="xml">
<form string="Course Form">
<sheet>
<group>
<field name="name"/>
<field name="description"/>
<field name="filedata" />
</group>
</sheet>
</form>
</field>
</record>
....
Any thoughts?
Upvotes: 0
Views: 1089
Reputation: 44
You should try restarting Odoo server as the field probably hasn't been persisted yet due to the binary field misspelling. Try checking the PostgreSQL database directly using PgAdmin or Sql Workbench to check the field is correctly in place.
Regarding your view, everything seems right.
You should update your module through Odoo interface or with the '-u' option of the odoo.py command.
Regards,
Upvotes: 1
Reputation: 313
First of all define the field properly as said here:
filedata = fields.Binary('File')
And then Uninstall and reinstall your module.
If the problem still occurs,
Create a new database and try again.
Upvotes: -1
Reputation: 704
Hello dear add like Binary add in camelcase
filedata = fields.Binary('File')
Upvotes: 1