跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. 一个one2many字段的创建问题

一个one2many字段的创建问题

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

    有一个model(以下称为model_a),model_a中有一个one2many字段(以下称为field_1,对应MA的外键字段称为ma_id--是个many2one字段)。
    修改model_a的记录时,可以在form中添加field_1的记录,可以选择ma_id字段的值为正在修改的model_a对应的记录。这是没有问题的

    新建model_a记录时,添加field_1的记录的时候,由于这时该新建的model_a记录还没有保存到数据库,ma_id字段的下拉列表里是没有该条model_a记录的。这就导致了无法在创建父记录的时候,同时创建one2many记录,有什么办法解决吗?

    1 条回复 最后回复
    0
    • I 离线
      I 离线
      iooop
      写于 最后由 编辑
      #2

      [quote author=iooop link=topic=17606.msg32244#msg32244 date=1463042576]
      有一个model(以下称为model_a),model_a中有一个one2many字段(以下称为field_1,对应MA的外键字段称为ma_id--是个many2one字段)。
      修改model_a的记录时,可以在form中添加field_1的记录,可以选择ma_id字段的值为正在修改的model_a对应的记录。这是没有问题的

      新建model_a记录时,添加field_1的记录的时候,由于这时该新建的model_a记录还没有保存到数据库,ma_id字段的下拉列表里是没有该条model_a记录的。这就导致了无法在创建父记录的时候,同时创建one2many记录,有什么办法解决吗?
      [/quote]

      感谢@上海-开阖-Jeff的解答,已经找到解决方法。
      原来在field_1对应的form定义中不能包括外键ma_id的定义,去掉就好了,系统会自己处理并且保存ma_id的值。
      另外如果field_1对应的form定义在别的地方也会调用(这样就不能删除外键ma_id的定义)。可以在<tree>...</tree>后加入一个不包含ma_id的<form/>定义。

      1 条回复 最后回复
      0
      • wjfonhandW 离线
        wjfonhandW 离线
        wjfonhand
        写于 最后由 编辑
        #3

        谢谢分享,这个在文档里确实没有写

        GoodERP -- Odoo China fork

        1 条回复 最后回复
        0

        • 登录

        • 没有帐号? 注册

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