跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 新手求助
  4. OpenERP对象跟数据库数据的联系

OpenERP对象跟数据库数据的联系

已定时 已固定 已锁定 已移动 Odoo 新手求助
15 帖子 5 发布者 9.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • L 离线
    L 离线
    LondonBao
    写于 最后由 编辑
    #3

    [quote]
    重庆-mrshelly(49812643)  10:55:09
    代码 是对象定义 (Class)
    运行后, 在内存中的对象是 (Class Instance) 实例
    如 员工对象.
    具体的一个员工, 对应 员工数据表中的一条记录.
    Class Instance 则对应相关的 数据表.
    [/quote]

    1 条回复 最后回复
    0
    • L 离线
      L 离线
      LondonBao
      写于 最后由 编辑
      #4

      [quote]
      广州-步科(17779104)  11:18:59
      “但是,OpenERP的对象其实是一个Class,它和一个数据表(Table)对应,而不是和一个记录(Record)对应。  ”

      OE这里和其他语言没什么不同,就是个自己实现的ORM。。。
      去掉“但是”,然后把“对象”改为 model ,这就好理解了
      [/quote]

      1 条回复 最后回复
      0
      • L 离线
        L 离线
        LondonBao
        写于 最后由 编辑
        #5

        总结:OpenERP的model其实是一个类(Class),它和一个数据表(Table)对应,而不是和一个记录(Record)对应。

        1 条回复 最后回复
        0
        • F 离线
          F 离线
          fanzhang1990
          写于 最后由 编辑
          #6

          那么,for this in self.browse(cr,uid,ids,context=context):

          1 条回复 最后回复
          0
          • F 离线
            F 离线
            fanzhang1990
            写于 最后由 编辑
            #7

            请教:
            res=dict.fromkeys(ids,False)
              for this in self.browse(cr,uid,ids,context=context):
                      res[this.id]=0
              this代表对象,this.id代表一个具体的record?

            1 条回复 最后回复
            0
            • mrshellyM 离线
              mrshellyM 离线
              mrshelly
              写于 最后由 编辑
              #8

              [quote author=fanzhang1990 link=topic=5842.msg14819#msg14819 date=1365264523]
              请教:
              res=dict.fromkeys(ids,False)
                for this in self.browse(cr,uid,ids,context=context):
                        res[this.id]=0
                this代表对象,this.id代表一个具体的record?
              [/quote]

              this 代表 具体的一条记录.
              this.id 代表该记录的 id 字段.

              1 条回复 最后回复
              0
              • F 离线
                F 离线
                fanzhang1990
                写于 最后由 编辑
                #9

                多谢高手指教!还有一个问题 在sale_order_line中
                  for this in self.browse(cr,uid,ids,context=context):
                        context['pricelist']=this.order_id.pricelist_id.id
                          sale_order_line类中有order_id字段,它manytoone 类sale_order,而sale_order类中有字段pricelist_id 
                          他是取得pricelist一条记录的id吗?这个.太多了,不太理解,请指教

                1 条回复 最后回复
                0
                • mrshellyM 离线
                  mrshellyM 离线
                  mrshelly
                  写于 最后由 编辑
                  #10

                  [quote author=fanzhang1990 link=topic=5842.msg14833#msg14833 date=1365313153]
                  多谢高手指教!还有一个问题 在sale_order_line中
                    for this in self.browse(cr,uid,ids,context=context):
                          context['pricelist']=this.order_id.pricelist_id.id
                            sale_order_line类中有order_id字段,它manytoone 类sale_order,而sale_order类中有字段pricelist_id 
                            他是取得pricelist一条记录的id吗?这个.太多了,不太理解,请指教
                  [/quote]

                  this 表示 某销售明细(循环遍历的每一行销售明细), 
                  this.order_id 是 sale.order.line 明细所属哪一个销售单
                  this.order_id.pricelist_id  就代表上面那个销售单所用的 pricelist 价格表
                  this.order_id.pricelist_id.id 就代表上面那个价格表的id.

                  1 条回复 最后回复
                  0
                  • F 离线
                    F 离线
                    fanzhang1990
                    写于 最后由 编辑
                    #11

                    多谢指导啊

                    1 条回复 最后回复
                    0
                    • L 离线
                      L 离线
                      LondonBao
                      写于 最后由 编辑
                      #12

                      多谢mr shelly 的回复!

                      1 条回复 最后回复
                      0
                      • S 离线
                        S 离线
                        sunk
                        写于 最后由 编辑
                        #13

                        知识库是强大的,学习了,感谢前辈。

                        1 条回复 最后回复
                        0
                        • S 离线
                          S 离线
                          sunk
                          写于 最后由 编辑
                          #14

                          [quote author=mrshelly link=topic=5842.msg14835#msg14835 date=1365316696]
                          [quote author=fanzhang1990 link=topic=5842.msg14833#msg14833 date=1365313153]
                          多谢高手指教!还有一个问题 在sale_order_line中
                            for this in self.browse(cr,uid,ids,context=context):
                                  context['pricelist']=this.order_id.pricelist_id.id
                                    sale_order_line类中有order_id字段,它manytoone 类sale_order,而sale_order类中有字段pricelist_id 
                                    他是取得pricelist一条记录的id吗?这个.太多了,不太理解,请指教
                          [/quote]

                          this 表示 某销售明细(循环遍历的每一行销售明细), 
                          this.order_id 是 sale.order.line 明细所属哪一个销售单
                          this.order_id.pricelist_id  就代表上面那个销售单所用的 pricelist 价格表
                          this.order_id.pricelist_id.id 就代表上面那个价格表的id.
                          [/quote]

                          函数里面的context参数在这里起什么作用的呢?

                          1 条回复 最后回复
                          0
                          • KevinKongK 离线
                            KevinKongK 离线
                            KevinKong
                            写于 最后由 编辑
                            #15

                            [quote author=Peter Seng link=topic=5842.msg14571#msg14571 date=1363836235]
                            总结:OpenERP的model其实是一个类(Class),它和一个数据表(Table)对应,而不是和一个记录(Record)对应。
                            [/quote]

                            确切地说,一个model并非对应一个Table,对于Related、Function类型的字段来说,并不在数据库中有对应,Many2many类型更是存储在另一张表里。

                            1 条回复 最后回复
                            0

                            • 登录

                            • 没有帐号? 注册

                            • 登录或注册以进行搜索。
                            • 第一个帖子
                              最后一个帖子
                            0
                            • 版块
                            • 标签
                            • 热门
                            • 用户
                            • 群组