OpenERP开发演练 - review

【OpenERP 7.0 开发教程】3 OpenERP开发演练:原文教程地址


目录

  1. 教程review
  2. 新建1个模型 x_qingjd,4个字段 x_kaisrq x_shenqr x_shiyou
  3. 新建2个视图
  4. 创建3个菜单项(模型 → 请假单 → 创建菜单)
  5. Action,不需要手动创建
  6. 问题分析
  7. 关于 ir_act_window_view 无新记录的分析

一、教程review

1. 新建1个模型 x_qingjd,4个字段 x_kaisrq x_shenqr x_shiyou x_tians
  • 多一张 x_qingjd
  • ir_model 多一条记录,表示新表
  • ir_model_fields 多四条记录,表示新的四个字段
    x_qingjd

    ir_model

    ir_model_fields
2. 新建2个视图(PS:序列号是什么用?)
  • ir_ui_view 多两条记录,xml保存在 arch
    ir_ui_view
3. 创建3个菜单项(模型 → 请假单 → 创建菜单)
  • ir_ui_menu 多三条记录
    ir_ui_menu
4. Action,不需要手动创建
  • ir_act_window 多两条记录
  • ir_act_window_view 理论上这张表要有数据生成,然而却没有数据
  • ir_values 多两条记录,
    ir_act_window

    ir_values

二、疑问

如果完全按照教材里面的做,功能肯定是能用,但是有几点要说明:

  1. 使用界面开发模块,不要指望在本地代码中找到痕迹,xml也好,py也好,都找不到相关代码。
  2. 教程第二步中:序列号是什么用?
  3. ir_act_window_view 表压根就没有新记录生成,真奇怪这个功能为什么还能用???关于这一点,原教程也没有提及。

三、关于 ir_act_window_view 无新记录的分析

没有新记录肯定是操作上的问题,有可能是遗漏了步骤,因为我也是初学者,就不分析。
我分析看为什么请假单这个例子没有 ir_act_window_view 记录,仍然可以工作。

其实从点击菜单到后台orm代码,最关键的无非就是要找到view。

osv.orm.BaseModel.fields_view_get 中关键代码

if view_ref and not view_id:
    if '.' in view_ref:
        module, view_ref = view_ref.split('.', 1)
        cr.execute("SELECT res_id FROM ir_model_data WHERE model='ir.ui.view' AND module=%s AND name=%s", (module, view_ref))
        view_ref_res = cr.fetchone()
        if view_ref_res:
            view_id = view_ref_res[0]

if view_id:
    cr.execute("""SELECT arch,name,field_parent,id,type,inherit_id,model
                  FROM ir_ui_view
                  WHERE id=%s""", (view_id,))
else:  # 请假单这个例子进的是这个分支
    cr.execute("""SELECT arch,name,field_parent,id,type,inherit_id,model
                  FROM ir_ui_view
                  WHERE model=%s AND type=%s AND inherit_id IS NULL
                  ORDER BY priority""", (self._name, view_type))
sql_res = cr.dictfetchone()

if not sql_res:
    break

view_id = sql_res['inherit_id'] or sql_res['id']

通过打印日志,发现执行的SQL如下

SELECT arch, name, field_parent, id, type
    , inherit_id, model
FROM ir_ui_view
WHERE model = x_qingjd
    AND type = tree
    AND inherit_id IS NULL
ORDER BY priority

换句话说,OpenERP默默的在补了很多工作,即使是用户遗漏了某些数据,还是能比较顺利的处理!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容