odoo17 Field 没有invisible属性?

 odoo17  Field dmszhzh.zzfile.save_type 没有invisible属性

错误提示如下:

WARNING sd0003 odoo.fields: Field dmszhzh.zzfile.save_type: unknown parameter 'invisible', if this is an actual parameter you may want to override the method _valid_field_parameter on the relevant model in order to allow it 

代码:

    save_type = fields.Char(
        compute="_compute_save_type",
        string="当前保存类型",
        invisible="1",
        prefetch=False,
    )

分析:

这个警告是在Odoo17环境中出现的,涉及到dmszhzh.zzfile字段。save_type属性有一个名为’invisible’的未知参数。invisible通常用于设置字段是否在用户界面上显示,但在当前模型中,它不是一个默认支持的参数。为了处理这种情况,开发者需要检查dmszhzh.zzfile所属的模型,并可能需要覆盖_valid_field_parameter方法,允许自定义接受这个特殊的参数。这样做是为了保证代码兼容性和定制需求。

这段代码在odoo16中倒没出现什么提示,odoo17中取消了invisible属性。

在Odoo 17中,字段(Field)是数据库模型的重要组成部分,它们定义了表中每个数据项的结构和特性。<field/> 标签用于在视图中定义模型的字段。这个标签有许多属性可以用来控制字段的显示和行为。在csdn中查了下,这个字段通常有以下几个核心属性:

  1. name:字段名,用于唯一标识模型中的一个字段。
  2. string:显示名称,用户界面中字段的标签。
  3. type:字段类型,例如 charintegerdatemany2oneone2manymany2many 等,决定了存储的数据类型。
  4. required:字段是否必填,默认情况下不是。
  5. readonly:字段是否只读,用户无法编辑。
  6. default:字段的默认值,可以设置静态或动态计算的值。
  7. related:如果字段是关联的,这里会指定它引用的对象和字段。
  8. constraints:定义字段的约束条件,比如最大长度、唯一性等。
  9. groups:指定哪些用户组可以访问此字段,用于权限控制。
  10. help:给字段提供的帮助文本,用于向用户展示关于字段的额外信息。

没提示invisible

网上查了下:常用属性及其作用
属性名    作用    示例
name    指定字段的名称(必填)    <field name="name"/>
string    字段的标签,在UI中显示的名称    <field name="name" string="Name"/>
attrs    定义字段的动态属性(如可见性、只读等),使用域表达式    <field name="name" attrs="{'invisible': [('state', '=', 'done')]}"/>
required    字段是否必填,布尔值    <field name="name" required="1"/>
readonly    字段是否只读,布尔值    <field name="name" readonly="1"/>
invisible    字段是否不可见,布尔值    <field name="name" invisible="1"/>
widget    指定字段的显示小部件    <field name="name" widget="many2many_tags"/>允许我们覆盖用于该字段的小控件。【例如:指定binary字段的widget为image就可以把上传按钮转变为图片】
domain    设置字段的域过滤条件    <field name="partner_id" domain="[('is_company', '=', True)]"/>
context    设置字段的上下文参数    <field name="partner_id" context="{'default_country_id': country_id}"/>
options    设置字段的选项参数    是一个JSON数据结构,提供了额外的选项<field name="product_id" options="{'no_create': True}"/>
optional    设置字段在列表的显示控制(hide默认隐藏,show默认显示)    <field name="description" optional="hide"/>
colspan    设置字段跨越的列数    <field name="name" colspan="2"/>
nolabel    是否隐藏字段标签,布尔值    <field name="name" nolabel="1"/>
mode    设置字段显示模式(如tree视图中的可编辑模式)    <field name="order_line" mode="tree,form"/>

help    提供字段的帮助提示    <field name="name" help="This is the name of the record."/>

class是用于字段HTML呈现的CSS类。【由于odoo内嵌列bootstrap,因此可以直接使用bootstrap的样式class;进阶:也可以自己写,在static/src/css目录下定义css文件,并通过data配置项加载】

  • olabel=“True”:防止自动字段标签被呈现。仅对元素中的字段有意义,并且经常和 元素一起使用.【nolabel把字段本名隐藏,label 标签则为该字段重新定义界面上显示的字段名,并且可以添加样式】
  • invisible=“True”:使字段不可见,但是数据是从服务器获取的,并且在表单上可用,只不过不可见而已。

 查看了下odoo17其它的原码,没再发现字段用invisible="True"属性的,

       

取消了,反面在前端用了column_invisible="True", invisible="True"属性

 

只是提示警告,暂时先去掉,改前面控制吧  

如果想要在Odoo17的tree视图中隐藏某个字段,应该使用column_invisible="1"属性。

如果使用invisible="1"属性修饰字段,表头会显示但字段值为空

  • 26
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信息化未来

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值