Navigation

    Odoo 中文社区

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Popular
    • Users
    • Groups

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

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

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

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

    Function字段作为action的domain,不起效果?

    Odoo 开发与实施交流
    4
    10
    7677
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • 佳先生
      佳先生 last edited by

      <record model="ir.actions.act_window" id="users_list_action">
                  <field eval="1" name="sequence"/>
                  <field name="name">员工管理</field>
                  <field name="res_model">res.users</field>
                  <field name="domain">[('is_company','=',True)]</field>
                  <field name="view_type">form</field>
                  <field name="view_mode">tree,form</field>
              </record>
      is_company 是一个function字段,但是放到这里没用,请问怎么能有用!!

      1 Reply Last reply Reply Quote 0
      • Joshua
        Joshua 管理员 last edited by

        你的function字段只有设置了strore=True 或者定义了search方法才可以用来筛选。

        1 Reply Last reply Reply Quote 0
        • 天
          天津-随风 last edited by

          默认的function字段是不存储数据库的,如果想在domain中使用的字段,是需要存储到数据库的

          1 Reply Last reply Reply Quote 0
          • 佳先生
            佳先生 last edited by

            如果,设置了store的话,它会存到数据库,那么当几个用户同时需要这个字段的话,是不是会有冲突??

            1 Reply Last reply Reply Quote 0
            • digitalsatori
              digitalsatori 管理员 last edited by digitalsatori

              @佳先生 在 Function字段作为action的domain,不起效果? 中说:

              如果,设置了store的话,它会存到数据库,那么当几个用户同时需要这个字段的话,是不是会有冲突??

              @佳先生 你是指如果多个其他字段的值会影响到这个函数字段的值吗?

              函数字段所对应的函数是可以加 装饰器@api.depends('field1', 'model_id.field2', ...) 的,
              这样即使用了store=True,数据保存到了数据库,当depends对应的字段数据发生变化时,系统是会自动重算,更新数据库的值的。

              佳先生 1 Reply Last reply Reply Quote 1
              • 佳先生
                佳先生 @digitalsatori last edited by 佳先生

                @digitalsatori 恩,depends的话是根据字段变化进行计算的,而我需要进入列表视图过滤的时候进行计算,不是字段变化,所以有点不一样,而且多个用户同时使用,function类型的话,加了store就不会实时进行计算,会去拿数据库存的数据,那么多个用户拿到的数据是一样的,就会影响过滤结果。

                佳先生 1 Reply Last reply Reply Quote 0
                • 佳先生
                  佳先生 @佳先生 last edited by

                  @佳先生 在 Function字段作为action的domain,不起效果? 中说:

                  @digitalsatori 恩,depends的话是根据字段变化进行计算的,而我需要进入列表视图过滤的时候进行计算,不是字段变化,所以有点不一样,而且多个用户同时使用,function类型的话,加了store就不会实时进行计算,会去拿数据库存的数据,那么多个用户拿到的数据是一样的,就会影响过滤结果。

                  个人理解哈,错了的话,欢迎纠正!

                  1 Reply Last reply Reply Quote 0
                  • digitalsatori
                    digitalsatori 管理员 last edited by

                    理论上不会因为有多个用户的存在而改变函数字段的计算结果,函数字段的计算结果只与其依赖相关的字段的值的变化而变化。

                    其实正如 @Joshua 说过的,你也可以不必使用store=true,只要在字段定义时使用一个对应的search方法,比如 search='my_search_method' ,这个search方法可以解析你在action中传入的domain并返回结果集就可以了。

                    佳先生 1 Reply Last reply Reply Quote 1
                    • 佳先生
                      佳先生 @digitalsatori last edited by

                      @digitalsatori 在 Function字段作为action的domain,不起效果? 中说:

                      my_search_method

                      这个之前没怎么用,我先试一下。

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post