Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

整理了一部非常适合新手入门的开发手册



  • 今天逛了一下简书博客,发现一位网友叫luohuayong的朋友写的非常好,特别适合入门刚做开发的人用来搞明白如何开发的,由于阅读体验上还存在一些不足,故而我帮此网友整理到看云文档里,由于本身希望推荐开源,同时希望尊重原作者,请各位免费获取,但切勿去传播时篡改原作者的版权,毕竟我们希望更多的人更好的参与到odoo技术推广中来!

    访问以及获取地址:http://www.kancloud.cn/yangxunbo/odoo10dev



  • 这个必须支持呀,初学者的重大福利。



  • 赞赞赞!!!!感谢楼主



  • @粉刷匠整理了一部非常适合新手入门的开发手册 中说:

    这个必须支持呀,初学者的重大福利。

    粉兄希望你这样的大神要多多共享和支持,门槛低了,大家才有机会。不然门槛高,你看现在到处抓人都抓不到!~



  • @yangxunbo ,那似乎应该留下原文链接什么的吧。



  • 日前,Odoo中文社区已成立中国高校Odoo推进小组(QQ群号:595451873),探索在中国高校进行Odoo的推广和培训。
    目前正在学习和应用Odoo的高校有:
    上海工程技术大学
    济南大学
    华东交通大学
    河北科技大学
    上海对外贸易学院
    厦门大学嘉庚学院
    上海出版印刷高等专科学校
    泉州师范学院
    日照职业技术学院
    你还可以通过下列网址了解下Odoo:、
    新浪Odoo专题博客:[url=http://blog.sina.com.cn/kaiyuanlvzhou]http://blog.sina.com.cn/kaiyuanlvzhou[/url]
    Odoo源码下载地址:[url=https://github.com/odoo/odoo]https://github.com/odoo/odoo[/url]
    Odoo安装程序下载地址:http://nightly.odoo.com/



  • @ieitzyb 0_1494397274523_2017-05-10_14-20-07.png
    我手册第一页就写的很清楚了,就怕别人说闲话!~



  • 我们不是一个人在战斗,加油 :smile:



  • @yangxunbo ,对我就是读正文第一页没看到,原来在概要。



  • 赞赞赞!!!!感谢楼主



  • 不错不错!支持一下!



  • 赞,杨总写的非常棒



  • 自定义模块时报错TOT



  • @杨晓程 自己写的模块?报什么错截图看看



  • 不错.很有用.谢谢.



  • 按照手册一步一步做,在到第二章时自定义模块出了以下
    Traceback (most recent call last):
    File "D:\GOdoo10\source\odoo\http.py", line 638, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
    File "D:\GOdoo10\source\odoo\http.py", line 675, in dispatch
    result = self._call_function(**self.params)
    File "D:\GOdoo10\source\odoo\http.py", line 331, in _call_function
    return checked_call(self.db, *args, **kwargs)
    File "D:\GOdoo10\source\odoo\service\model.py", line 119, in wrapper
    return f(dbname, *args, **kwargs)
    File "D:\GOdoo10\source\odoo\http.py", line 324, in checked_call
    result = self.endpoint(*a, **kw)
    File "D:\GOdoo10\source\odoo\http.py", line 933, in call
    return self.method(*args, **kw)
    File "D:\GOdoo10\source\odoo\http.py", line 504, in response_wrap
    response = f(*args, **kw)
    File "D:\GOdoo10\source\addons\web\controllers\main.py", line 866, in call_button
    action = self._call_kw(model, method, args, {})
    File "D:\GOdoo10\source\addons\web\controllers\main.py", line 854, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
    File "D:\GOdoo10\source\odoo\api.py", line 681, in call_kw
    return call_kw_multi(method, model, args, kwargs)
    File "D:\GOdoo10\source\odoo\api.py", line 672, in call_kw_multi
    result = method(recs, *args, **kwargs)
    File "D:\GOdoo10\source\odoo\addons\base\module\module.py", line 527, in button_immediate_upgrade
    return self._button_immediate_function(type(self).button_upgrade)
    File "D:\GOdoo10\source\odoo\addons\base\module\module.py", line 484, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
    File "D:\GOdoo10\source\odoo\modules\registry.py", line 78, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
    File "D:\GOdoo10\source\odoo\modules\loading.py", line 333, in load_modules
    force, status, report, loaded_modules, update_module)
    File "D:\GOdoo10\source\odoo\modules\loading.py", line 235, in load_marked_modules
    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
    File "D:\GOdoo10\source\odoo\modules\loading.py", line 156, in load_module_graph
    _load_data(cr, module_name, idref, mode, kind='data')
    File "D:\GOdoo10\source\odoo\modules\loading.py", line 95, in _load_data
    tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
    File "D:\GOdoo10\source\odoo\tools\convert.py", line 851, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
    File "D:\GOdoo10\source\odoo\tools\convert.py", line 921, in convert_xml_import
    obj.parse(doc.getroot(), mode=mode)
    File "D:\GOdoo10\source\odoo\tools\convert.py", line 802, in parse
    self.parse(rec, mode)
    File "D:\GOdoo10\source\odoo\tools\convert.py", line 805, in parse
    self._tags[rec.tag](rec, de, mode=mode)
    File "D:\GOdoo10\source\odoo\tools\convert.py", line 443, in _tag_act_window
    id = self.env['ir.model.data']._update('ir.actions.act_window', self.module, res, xml_id, noupdate=self.isnoupdate(data_node), mode=self.mode)
    File "D:\GOdoo10\source\odoo\addons\base\ir\ir_model.py", line 1159, in _update
    record = record.create(values)
    File "D:\GOdoo10\source\odoo\addons\base\ir\ir_actions.py", line 340, in create
    return super(IrActionsActWindow, self).create(vals)
    File "D:\GOdoo10\source\odoo\addons\base\ir\ir_actions.py", line 40, in create
    res = super(IrActions, self).create(vals)
    File "D:\GOdoo10\source\odoo\models.py", line 3798, in create
    record = self.browse(self._create(old_vals))
    File "D:\GOdoo10\source\odoo\models.py", line 3954, in _create
    self._validate_fields(vals)
    File "D:\GOdoo10\source\odoo\models.py", line 1058, in _validate_fields
    check(self)
    File "D:\GOdoo10\source\odoo\addons\base\ir\ir_actions.py", line 248, in check_model
    raise ValidationError(
    ('Invalid model name %r in action definition.') % action.res_model)
    ParseError: "Invalid model name u'shouhou.shouhoudan' in action definition.
    None" while parsing file:///D:/GOdoo10/myaddons/shouhou/views/views.xml:38, near
    <act_window id="action_shouhou_shouhoudan" name="售后单" res_model="shouhou.shouhoudan" view_mode="tree,form"/>



  • 在仿照着请假模块做一个简易的售后模块,然后就出现这种情况,然后用作者的源码一步一步仿照着做也是会在修改好view文件之后出现报错


  • 管理员

    hello @zysdmjj 你这里的错误是shouhou.shouhoudan这个模型没有在python里面定义,如果还有问题,你可以贴出你完整的代码。

    <act_window id="action_shouhou_shouhoudan" name="售后单" res_model="shouhou.shouhoudan" view_mode="tree,form"/>
    


  • @Joshua
    _manifest.py

    # -*- coding: utf-8 -*-
    {
        'name': "shouhou",
    
        'summary': """
            售后模块""",
    
        'description': """
            售后模块
        """,
    
        'website': "http://www.yourcompany.com",
    
        # Categories can be used to filter modules in modules listing
        # Check https://github.com/odoo/odoo/blob/master/openerp/addons/base/module/module_data.xml
        # for the full list
        'category': 'Uncategorized',
        'version': '0.1',
    
        # any module necessary for this one to work correctly
        'depends': ['base'],
    
        # always loaded
        'data': [
            # 'security/ir.model.access.csv',
            'views/views.xml',
            'views/templates.xml',
        ],
        # only loaded in demonstration mode
        'demo': [
            'demo/demo.xml',
        ],
    }
    


  • models.py

    from odoo import models, fields, api
    
    class shouhoudan(models.Model):
        _name = 'shouhou.shouhoudan'
        name = fields.Char(string="报修人")
        days = fields.Integer(string="预计处理时长")
        startdate = fields.Date(string="报修日期日期")
        reason = fields.Text(string="售后事由")
    

    view.xml

    <openerp>
        <data>
            <!-- tree视图 -->
            <record id="view_tree_shouhou_shouhoudan" model="ir.ui.view">
                <field name="name">售后单列表</field>
                <field name="model">shouhou.shouhoudan</field>
                <field name="arch" type="xml">
                    <tree>
                        <field name="name"/>
                        <field name="days"/>
                        <field name="startdate"/>
                    </tree>
                </field>
            </record>
    
            <!-- form视图 -->
            <record id="view_form_shouhou_shouhoudan" model="ir.ui.view">
                <field name="name">售后单</field>
                <field name="model">shouhou.shouhoudan</field>
                <field name="arch" type="xml">
                    <form>
                        <sheet>
                            <group name="group_top" string="售后单">
                                <field name="name"/>
                                <field name="days"/>
                                <field name="startdate"/>
                                <field name="reason"/>
                            </group>
                        </sheet>
                    </form>
                </field>
            </record>
    
            <!-- 视图动作 -->
            <act_window id="action_shouhou_shouhoudan"
                name="售后单"
                res_model="shouhou.shouhoudan"
                view_mode="tree,form" />
    
            <!-- 顶级菜单 -->
            <menuitem name="售后" id="menu_shouhou"/>
    
            <!-- 二级菜单 -->
            <menuitem name="售后单" id="menu_shouhou_shouhoudan" parent="menu_shouhou" action="action_shouhou_shouhoudan"/>
    
        </data>
    </openerp>
    

登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待