Odoo 11.0 如何让 res.partner 关于模块教程可用?
Odoo 11.0 How let res.partner about module tutorial being usable?
我对 odoo 很陌生,从使用 odoo 11.0 构建模块开始。
一切正常,直到教程点 Inheritance 让我创建一个扩展 res.parter...
的新 Partener.py 文件
我跟着教程重读了很多遍,都是一样的。
为什么我得到错误:
psycopg2.ProgrammingError: column res_users.notification_type does not exist
LINE 1: ... "share","res_users"."partner_id" as "partner_id","res_users...
这是partner.py
# -*- coding: utf-8 -*-
from odoo import fields, models
class Partner(models.Model):
_inherit = 'res.partner'
# Add a new column to the res.partner model, by default partners are not
# instructors
instructor = fields.Boolean("Instructor", default=False)
session_ids = fields.Many2many('openacademy.session',
string="Attended Sessions", readonly=True)
通过为 odoo 生成一个配置文件来解决,因为我开始的会话使用了上一个项目的数据库,所以他没有 table inside db.
-s Path/odoorc_nameConfig -s --dev=xml,pdb,qweb
并添加一个 dbfilter 以查看正确的数据库!
之后在教程中提醒添加 depends 'sale' inside manifest!
'depends': ['base',
'sale',
],
现在您可以继续使用 Odoo 11.0 教程,因为他们没有说您需要依赖 'sale' 来继承 class res.partner!
我遇到了同样的问题:"column res_partner.instructor does not exist"
我可以通过添加来解决这个错误:
上面代码models/partner.py末尾的Partner()。
from odoo import models, fields, api
class Partner(models.Model):
_inherit = 'res.partner'
instructor = fields.Boolean("Instructor", default=False)
session_ids = fields.Many2many('openacademy.session',
string="Attended Sessions", readonly=True)
Partner()
另一种方式是通过SQL添加字段。
sudo -u postgres psql
\c yourdatabase
ALTER TABLE res_partner ADD COLUMN instructor boolean default False;
重新启动并准备就绪。
我通过在重新启动服务器后立即升级自定义模块解决了这个问题。(步骤:1 - 注释导入合作伙伴说明,2- 启动服务器,3- 转到应用程序和 select 你的自定义应用程序, 4- 取消注释 import partner 并启动服务器 5- 转到您的应用并直接升级而不刷新页面 )
当您向 res_company、res_partner、res_users 表中添加任何新字段时,应该是这种情况。
有关详细信息,请参阅此 link:
https://www.odoo.com/forum/help-1/question/hi-everyone-here-i-need-the-solution-in-this-error-programmingerror-column-res-partner-instructor-does-not-exist-i-was-trying-to-inherit-res-partner-in-my-custom-module-129222
我对 odoo 很陌生,从使用 odoo 11.0 构建模块开始。
一切正常,直到教程点 Inheritance 让我创建一个扩展 res.parter...
的新 Partener.py 文件我跟着教程重读了很多遍,都是一样的。 为什么我得到错误:
psycopg2.ProgrammingError: column res_users.notification_type does not exist
LINE 1: ... "share","res_users"."partner_id" as "partner_id","res_users...
这是partner.py
# -*- coding: utf-8 -*-
from odoo import fields, models
class Partner(models.Model):
_inherit = 'res.partner'
# Add a new column to the res.partner model, by default partners are not
# instructors
instructor = fields.Boolean("Instructor", default=False)
session_ids = fields.Many2many('openacademy.session',
string="Attended Sessions", readonly=True)
通过为 odoo 生成一个配置文件来解决,因为我开始的会话使用了上一个项目的数据库,所以他没有 table inside db.
-s Path/odoorc_nameConfig -s --dev=xml,pdb,qweb
并添加一个 dbfilter 以查看正确的数据库!
之后在教程中提醒添加 depends 'sale' inside manifest!
'depends': ['base',
'sale',
],
现在您可以继续使用 Odoo 11.0 教程,因为他们没有说您需要依赖 'sale' 来继承 class res.partner!
我遇到了同样的问题:"column res_partner.instructor does not exist"
我可以通过添加来解决这个错误: 上面代码models/partner.py末尾的Partner()。
from odoo import models, fields, api
class Partner(models.Model):
_inherit = 'res.partner'
instructor = fields.Boolean("Instructor", default=False)
session_ids = fields.Many2many('openacademy.session',
string="Attended Sessions", readonly=True)
Partner()
另一种方式是通过SQL添加字段。
sudo -u postgres psql
\c yourdatabase
ALTER TABLE res_partner ADD COLUMN instructor boolean default False;
重新启动并准备就绪。
我通过在重新启动服务器后立即升级自定义模块解决了这个问题。(步骤:1 - 注释导入合作伙伴说明,2- 启动服务器,3- 转到应用程序和 select 你的自定义应用程序, 4- 取消注释 import partner 并启动服务器 5- 转到您的应用并直接升级而不刷新页面 )
当您向 res_company、res_partner、res_users 表中添加任何新字段时,应该是这种情况。 有关详细信息,请参阅此 link: https://www.odoo.com/forum/help-1/question/hi-everyone-here-i-need-the-solution-in-this-error-programmingerror-column-res-partner-instructor-does-not-exist-i-was-trying-to-inherit-res-partner-in-my-custom-module-129222