标签: odoo-9

Odoo迁移

我有一些模块可以扩展Odoo的附加功能.例如,my_module扩展的模型crm:

class Lead(models.Model):
    _inherit = 'crm.lead'
    # exmaple fields
    field_1 = fields.Char(...)
    field_2 = fields.Many2one(...)
    # ... field 99


class Stage(models.Model):
    _inherit = 'crm.stage'
    # exmaple fields
    field_1 = fields.Char(...)
    field_2 = fields.Many2one(...)
    # ... field 99
Run Code Online (Sandbox Code Playgroud)

同样的情况是其扩展模块hr,product等我需要做一些改变的车型.例如,在中my_module_1,我需要更改几个字段(类型,关系)my_module_2,仅删除几个字段等.当然,我还需要更改每个模块的视图.当然,我的自定义模型与不同应用程序/模块的模型有依赖关系.但我有必须存储的生产数据.我没有在Odoo中找到有关迁移(或模块同步)的任何信息.

我的问题是:在生产中更新模块/应用程序的最佳方法什么(如果我们在模型和视图领域有很多变化)?提前致谢.

python odoo odoo-9

19
推荐指数
1
解决办法
2667
查看次数

Odoo 9.如何覆盖表单小部件?

我和odoo 9一起工作.在系统中存在每种类型字段的render_value方法:

/odoo/addons/web/static/src/js/views/form_widgets.js
/odoo/addons/web/static/src/js/views/form_relational_widgets.js
Run Code Online (Sandbox Code Playgroud)

如何为所有表单使用我的自定义方法render_value(例如在FieldChar中)?以及如何为一个表单或一个模块使用特定的render_value

form_widgets.js在我的模块中创建,但我不明白如何正确覆盖Field.

odoo.define('my_module.form_widgets', function (require) {
"use strict";

// what I should do here???

});
Run Code Online (Sandbox Code Playgroud)

你能提供一些小例子吗?预先感谢.

javascript openerp qweb odoo-9

10
推荐指数
1
解决办法
8925
查看次数

在python中做什么| =(管道相等)符号?

我在一个项目中看到了一段代码,其中写了以下内容:

         move = Move.create({
            'name': repair.name,
            'product_id': repair.product_id.id,
            'product_uom': repair.product_uom.id or repair.product_id.uom_id.id,
            'product_uom_qty': repair.product_qty,
            'partner_id': repair.address_id.id,
            'location_id': repair.location_id.id,
            'location_dest_id': repair.location_dest_id.id,
            'restrict_lot_id': repair.lot_id.id,
        })
        moves |= move
        moves.action_done()
Run Code Online (Sandbox Code Playgroud)

这里的含义是什么意思?

openerp python-2.7 odoo-8 odoo-9

10
推荐指数
2
解决办法
5867
查看次数

为什么有些项目没有翻译成Odoo?

我在Project模块中有翻译问题.某些菜单项未翻译.可能是什么问题呢?

在此输入图像描述

这里是project_view.xml

<!-- Top menu item -->
<menuitem name="Project"
    id="base.menu_main_pm"
    groups="group_project_manager,group_project_user"
    icon="fa-calendar"
    web_icon="project,static/description/icon.png"
    sequence="50"/>
Run Code Online (Sandbox Code Playgroud)

在这里ru.po

#. module: project
#: model:ir.model,name:project.model_project_project
#: model:ir.model.fields,field_description:project.field_project_task_history_cumulative_project_id
#: model:ir.model.fields,field_description:project.field_project_task_project_id
#: model:ir.model.fields,field_description:project.field_report_project_task_user_project_id
#: model:ir.ui.view,arch_db:project.edit_project
#: model:ir.ui.view,arch_db:project.view_task_form2
#: model:ir.ui.view,arch_db:project.view_task_history_search
#: model:ir.ui.view,arch_db:project.view_task_project_user_search
#: model:ir.ui.view,arch_db:project.view_task_search_form
#: model:res.request.link,name:project.req_link_project
msgid "Project"
msgstr "??????"
Run Code Online (Sandbox Code Playgroud)

python xml odoo odoo-8 odoo-9

8
推荐指数
1
解决办法
8406
查看次数

Odoo 扩展和继承

Odoo 有三种类型的继承,我至少有那么多问题。

1.“正常”继承(_inherit)

这对我来说相对直观 - 但他们为什么不以 Pythonic 的方式做到这一点:

ChildClass(ParentClass):
Run Code Online (Sandbox Code Playgroud)

为什么他们有(看似等价的):

ChildClass(model.Model):
     _inherit = 'module.parentclass'
Run Code Online (Sandbox Code Playgroud)

2. 扩展

这对我来说毫无意义(因为我不知道你为什么要使用它),下面是一个例子,但谁能给我一个实际的用例。 http://www.odoo.com/documentation/9.0/reference/orm.html#extension

3.委托(_inherits)

这对我来说也没有意义,它似乎是一个多子类化,但只是字段,而不是方法。

  1. 为什么 _inherit 存在,与普通子类化相比有什么好处/区别?

  2. 你什么时候/为什么要延长?我想我有一个想法,但我相信其他人可以表达得更清楚。

  3. 也许有点什么,为什么 _inherits

python inheritance openerp odoo-9

8
推荐指数
3
解决办法
9008
查看次数

Odoo.下拉限制

我的模型中有一些One2Many字段.我在视图中为元素设置了limit = 5.但是如何将可能值(80-200-500等)的列表更改为我的自定义列表(例如:10-15-etc.)?

在此输入图像描述

这是我的xml:

<!-- 
     info about view: 
     <record model="ir.ui.view" id="view_my_id_employee_form">
        <field name="name">hr.employee.property.form.inherit</field>
        <field name="model">hr.employee</field>
        <field name="inherit_id" ref="hr.view_employee_form" />
-->
<field name="adaptation_result_ids">
    <tree default_order="date desc" limit="5">
        <field name="name"/>
        <field name="date"/>
    </tree>
</field>
Run Code Online (Sandbox Code Playgroud)

也许在设置中使用Window Actions是可能的?

在此输入图像描述

我尝试了不同的方法但都徒劳无功.你能解决我的问题吗?先感谢您.

python openerp odoo-9

7
推荐指数
1
解决办法
2127
查看次数

如何从SQL查询中提取数据并将其分配给Odoo类列?

我一直在尝试从.mdb数据库中提取数据并将其放入Odoo 8类列中.

这是我的.py文件

  class attendance_biometric(osv.Model):
    _name="attendance.biometric"
    _rec_name='name'
    _columns={

        'fdate':fields.datetime('From Date'),
        'tdate':fields.datetime('To Date'),
        'code':fields.integer('Code'),
        'name':fields.many2one('res.users','Employee Name', readonly=True),
        'ref': fields.one2many('bio.data', 'bio_ref', 'Data'),
    }

    _defaults = {
            'name': lambda obj, cr, uid, context: uid,

            }


def confirm_submit(self, cr, uid, ids, context=None):
        result=[]
        DBfile = '/home/administrator/test.mdb'
        conn = pyodbc.connect('DRIVER=MDBtools;DBQ='+DBfile)
        cr = conn.cursor()
        sql = '''
            select InTime, OutTime, OutDeviceId, Duration from 
AttendanceLogs '''
        cr.execute(sql)
        rows = cr.fetchall()
        for row in enumerate(rows):
            result.append(row)
        raise osv.except_osv(_('Info'),_('Data : %s\n' % (result)))
Run Code Online (Sandbox Code Playgroud)

现在,当我点击提交按钮进行一些重新工作后,数据显示如下图所示

结果记录器信息

有人可以提供宝贵的意见吗?比如如何将这些值放入Odoo类列(我的意思是分配给类的字段)以及如何从两个表中获取列.

python ms-access openerp-8 odoo-8 odoo-9

7
推荐指数
1
解决办法
4279
查看次数

例外:在Odoo中无法使用bus.bus

我在服务器上有一些错误

File "/home/odoo/odoo/odoo_8_test/addons/bus/bus.py", line 188, in poll    
raise Exception("bus.Bus unavailable") Exception: bus.Bus unavailable
Run Code Online (Sandbox Code Playgroud)

因此,我在服务器上执行程序时丢失了上下文值和一些变量值.

openerp odoo-8 odoo-9

7
推荐指数
1
解决办法
3032
查看次数

在树视图odoo中显示html

是否可以在树视图中显示html?

例如,将strong添加到字符串<strong> MY STRING </ strong>

我尝试使用widget ="html",但强大的标签是可见的!

的.py

 @api.depends('name')
 def _get_html(self):
     self.html_text = "<strong>" + str(self.name) + "</strong>"

     html_text = fields.Char(compute='_get_html')
Run Code Online (Sandbox Code Playgroud)

.XML

<field name="html_text"/>   
Run Code Online (Sandbox Code Playgroud)

openerp odoo-9 odoo-10

7
推荐指数
1
解决办法
2269
查看次数

Odoo - 自定义模块卸载时的内部服务器错误

我正在尝试创建一个简单的继承模块,以便我可以在新的机会形式中添加更多字段,但odoo不喜欢我的代码.我是Odoo和Python的新手,所以不要怪我:(

mymodule.py:

from openerp.osv import fields, osv 

class crm_lead_mymodule(osv.osv):
    _inherit = 'crm.lead'

    _columns = {
        'product_type' : fields.selection( [('basic', 'Basic'),('pro', 'Pro'),], ),
    }
Run Code Online (Sandbox Code Playgroud)

mymodule.xml:

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
    <record id="view_crm_opportunity_mymodule_form" model="ir.ui.view">
        <field name="name">crm.lead.mymodule.inherit</field>
        <field name="model">crm.lead</field>
        <field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
        <field name="arch" type="xml">
            <xpath expr="//notebook/page[@name='lead']" position="after">
                <page string="Product Information">
                    <group col="3">
                            <field name="product_type"/>
                    </group>
                </page>
            </xpath>
        </field>
    </record>
</data>
</openerp>
Run Code Online (Sandbox Code Playgroud)

在我的代码发生变化之后,我尝试了很多安装,直到我卸载它并且odoo崩溃了.我收到"内部服务器错误"与以下日志:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/werkzeug/serving.py", line 177, in run_wsgi
    execute(self.server.app)
  ...
  ...
  ...
  File "/usr/lib/python2.7/dist-packages/openerp/modules/registry.py", line 168, in …
Run Code Online (Sandbox Code Playgroud)

python xpath openerp python-2.7 odoo-9

6
推荐指数
1
解决办法
1705
查看次数