首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当在Odoo12中创建了模型B的新实例(将many2one字段设置为模型A )时,如何更改模型A中的布尔值?

在Odoo12中,要在模型B中创建新实例并更改模型A中的布尔值,可以按照以下步骤进行操作:

  1. 首先,确保已经在模型B中定义了many2one字段,将其设置为模型A。例如,在模型B的Python文件中,可以添加如下代码:
代码语言:txt
复制
class ModelB(models.Model):
    _name = 'model.b'
    
    field_a = fields.Many2one('model.a', string='Field A')
  1. 接下来,在模型B的视图文件中,确保已经添加了一个many2one字段的视图部件,用于选择模型A的实例。例如,在模型B的视图文件中,可以添加如下代码:
代码语言:txt
复制
<record id="view_model_b_form" model="ir.ui.view">
    <field name="name">model.b.form</field>
    <field name="model">model.b</field>
    <field name="arch" type="xml">
        <form>
            <sheet>
                <group>
                    <field name="field_a"/>
                </group>
            </sheet>
        </form>
    </field>
</record>
  1. 然后,在模型B的Python文件中,可以通过重写create()方法来更改模型A中的布尔值。例如,在模型B的Python文件中,可以添加如下代码:
代码语言:txt
复制
class ModelB(models.Model):
    _name = 'model.b'
    
    field_a = fields.Many2one('model.a', string='Field A')
    
    @api.model
    def create(self, vals):
        record = super(ModelB, self).create(vals)
        
        # 获取模型A的实例
        model_a = self.env['model.a'].browse(vals.get('field_a'))
        
        # 更改模型A中的布尔值
        model_a.write({'boolean_field': True})
        
        return record

在上述代码中,我们通过browse()方法获取了模型A的实例,并使用write()方法更改了模型A中的布尔值。

  1. 最后,可以在模型A的视图文件中,确保已经添加了一个布尔字段的视图部件,用于显示和编辑该布尔值。例如,在模型A的视图文件中,可以添加如下代码:
代码语言:txt
复制
<record id="view_model_a_form" model="ir.ui.view">
    <field name="name">model.a.form</field>
    <field name="model">model.a</field>
    <field name="arch" type="xml">
        <form>
            <sheet>
                <group>
                    <field name="boolean_field"/>
                </group>
            </sheet>
        </form>
    </field>
</record>

通过以上步骤,当在Odoo12中创建了模型B的新实例,并选择了相应的模型A实例时,模型A中的布尔值将会被更改为True。

请注意,以上答案仅供参考,具体实现可能需要根据实际情况进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

odoo ORM API学习总结兼orm学习教程

用于多继承模块共享的抽象父类,不会在数据库中创建模型表 系统为每个数据库自动实例化每个模型一次。...要创建不需要实例化的类,可以将 _register 属性设置为False _auto= False 是否应该创建数据库表。如果设置为 False, 应该重写 init()来创建数据库表。默认设。...", params) 由于模型使用相同的游标,并且Environment保存各种缓存,因此当在原始SQL中更改数据库时,这些缓存必须失效,否则模型的进一步使用可能会变得不连贯。...and extension) Odoo提供三种不同的机制,以模块化方式扩展模型: 从现有模型创建新模型,向副本中添加新信息,但保留原始模块 扩展其他模块中定义的模型,替换以前的版本 将模型的一些字段委派给它包含的记录...Delegation) 第三种继承机制提供了更大的灵活性(可以在运行时更改),但威力更小:使用_inherits模型,将当前模型中未找到的任何字段的查找委托给“children”模型。

13.5K10

odoo 开发入门教程系列-模型之间的关系(Relations Between Models)

模型之间的关系(Relations Between Models) 上一章介绍了为包含基本字段的模型创建自定义视图。然而,在任何真实的业务场景中,我们都需要不止一个模型。此外,模型之间的链接是必要的。...提示: 别忘记在 __init__.py导入新的Python模块文件,并在__manifest.py__中添加数据或者访问权限。...这意味着可以将多个"tax"添加到我们的测试模型。...comodel,必须在comodel中定义Many2one 字段 练习 添加房地产报价表 创建 estate.property.offer 模型,并添加以下字段: Field Type Attributes...当我们通过one2many字段创建记录时,为了方便,会自动填充相应的many2one 添加odoo14\custom\estate\models\estate_property_offer.py #!

4.5K40
  • 5. Schema和数据类型

    Schema第一次被创建时,需要指定他们的类型例如边的标签、属性的key、顶点的标签。无法更改特定元素的Schema类型。这是为了确保系统的稳定。...除了本节中介绍的Schema定义方式外,第30章高级教程中也讲了如何定义来提高性能。 1. 定义边的标签 连接两个顶点的每条边都有一个标签,用来描述他们之间的关系。...例如:顶点A和顶点B之间具有朋友关系,那他们之间边的标签可以定义为friend。...JanusGraph实例中,Schema名字的更改可能不会立即生效。...如果schema.default未设置为none,则会自动创建schema约束,而不会引发异常。激活schema约束对现有数据没有影响,因为这些schema约束仅在插入过程中应用。

    1.1K40

    LINUX useradd命令使用总结

    新账户的主目录的基目录    -c, --comment COMMENT         新账户的 GECOS 字段    -d, --home-dir HOME_DIR       新账户的主目录  ... -D, --defaults     显示或更改默认的 useradd 配置   -e, --expiredate EXPIRE_DATE  新账户的过期日期    -f, --inactive INACTIVE...etc/skel/  用户默认骨架目录(创建新用户时,默认复制目录下所有文件)   /etc/login.defs  Shadow密码套件配置   5.简单使用实例 添加一个普通用户   [root@localhost...   [root@localhost ~]# userdel moonrongsnow [root@localhost ~]# useradd -r moonrongsnow 为新加的用户指定目录  ...,指定用户登录时的目录为/opt/odoo12,创建一个和用户同名的组,并将用户加到该组中,指定用户登录后的shell,默认为/bin/bash。

    1.2K31

    Pro ASP.NET MVC –第五章 使用Razor「建议收藏」

    在我们的例子中,@model语句声明将传递给视图使用的来自于行为方法的模型对象。然后通过@Model,我们就可以调用模型对象的方法,字段和属性。...当呈现视图的时候,视图中的代码块被执行。在我们的例子中,代码设置Layout属性的值为null。...当呈现一个视图时,MVC框架将查找名为_ViewStart.cshtml的文件。该文件的内容被当作它好像包含在视图文件自身中,我们可以使用这个特性来自动地设置layout属性的值。...视图 使用视图模型对象,把其内容呈现给用户 更改视图模型对象的任何方法 在本书后续的章节中,我们将不断的回顾上表所述的规则。...在创建视图时,Visual studio并没有提供数组和集合的支持,因此你需要手动设置模型类的类型 然后在生成的视图中,你可以看到model的类型为:@model MvcRazor.Models.Product

    2.9K20

    JanusGraph的schema及数据建模

    可以将某个property key的数据类型定义为Object.class来使该value存储任何值(可序列化的),但是还是推荐使用具有具体类型的值类型。...mgmt = graph.openManagement() //创建了一个名字为birthDate的属性,并设置值类型为LONG,且只能保存一个值 birthDate = mgmt.makePropertyKey...('birthDate').dataType(Long.class).cardinality(Cardinality.SINGLE).make() //创建了一个名字为name的属性,并设置值类型为String...).make() //创建了一个名字为sensorReading的属性,并设置值类型为Double,且可以保存可以重复的多个值 sensorReading = mgmt.makePropertyKey(...在更名可能导致冲突的情况下,可能要重启实例。如果需要更名,可以先将原来元素改名为新的不存在的元素名称,然后创建新的schema 元素,但不会影响已经创建的数据,需要通过批处理修改数据。

    1.3K20

    第15篇-使用Django进行ElasticSearch的简单方法

    我们将很快讨论一些示例,但是首先我需要阐明我们要完成的工作: ● 在我们的本地计算机上设置ElasticSearch并确保其正常运行 ● 设置一个新的Django项目 ● 批量索引数据库中已经存在的数据...这将是ElasticSearch的参考点,以便当在数据库中初始化索引并保存每个创建的新对象实例时,它知道要处理的索引。...因为只要在我们的模型中进行某些更改,您就只想进行批量索引 init() 编制,因此可以将其映射到ElasticSearch中的模型。...现在,您已成功将所有实例索引到ElasticSearch中,创建了一个 post_save 对每个新保存的实例进行索引的信号,并创建了一个函数来搜索我们的ElasticSearch数据库中的数据。...我解释了如何将Django模型连接到ElasticSearch进行索引和搜索,但是ElasticSearch可以做很多事情。

    5.3K00

    python+django 如何上传文件和下载文件

    Models 中新建了一个模型,并且设置 path 为 FileFiled 格式的 这样就可设置为文件属性了,在django-web上上传文件时,path为文件的路径,相信这点官网已经写的非常详细了...下面记录下如何指定文件的存储路径、文件访问路径、文件下载 存储文件 存储文件需要指定文件的存储路径 在 settings.py 文件中增加字段: MEDIA_ROOT 例如: 当在自己的电脑上模拟运行时可以指定为...访问路径 访问路径就是在web或者APP等上面访问该文件的路径 在 settings.py 文件中增加字段 MEDIA_URL 例如: MEDIA_URL = '/Files/' 并且你的服务地址为.../文件名称 如何映射 在urls.py 文件中增加静态文件的映射 # 静态文件的访问 from django.conf.urls.static import static import settings...补充:文件重命名 当我们上传一个文件到服务器时,希望重新更改一下该文件的名称和路径 在models 里面模型创建的时候指定 class TestModel(models.Models): path

    3.8K40

    Django之QuerySet详解

    若要按照另外一个模型中的字段排序,可以使用查询关联模型的语法。即通过字段的名称后面跟两个下划线(__),再加上新模型中的字段的名称,直到希望连接的模型。....]> 如果有多个字段,传递flat将发生错误。 如果不传递任何值给values_list(),它将返回模型中的所有字段,以在模型中定义的顺序。 常见的情况是获取某个模型实例的特定字段值。...该方法返回一个由(object, created)组成的元组,元组中的object 是一个查询到的或者是被创建的对象, created是一个表示是否创建了新的对象的布尔值。...如果查找不到对象,get_or_create()将会实例化并保存一个新的对象,返回一个由新的对象以及True组成的元组。...该方法返回一个由(object, created)组成的元组,元组中的object是一个创建的或者是被更新的对象, created是一个标示是否创建了新的对象的布尔值。

    2.4K20

    tf.lite

    这个值可以从get_input_details中的'index'字段中得到。value:要设置的张量的值。...这个值可以从get_output_details中的'index'字段中获得。返回值:一个函数,它可以返回一个指向任意点的内部TFLite张量状态的新的数字数组。...(默认错误)change_concat_input_ranges:布尔值,用于更改用于量化模型的concat操作符的输入和输出的最小/最大范围的行为。当为真时,更改concat操作符重叠的范围。...布尔值,指示是否对转换后的浮点模型的权重进行量化。模型大小将会减小,并且会有延迟改进(以精度为代价)。...(默认设置((OpsSet.TFLITE_BUILTINS)))optimizations:实验标志,可能会更改。转换模型时要应用的优化列表。如[Optimize.DEFAULT]。

    5.3K60

    带你认识 flask 中的数据库

    数据库模型 定义数据库中一张表及其字段的类,通常叫做数据模型。ORM(SQLAlchemy)会将类的实例关联到数据库表中的数据行,并翻译相关操作。...这个类将表的字段定义为类属性,字段被创建为db.Column类的实例,它传入字段类型以及其他可选参数,例如,可选参数中允许指示哪些字段是唯一的并且是可索引的,这对高效的数据检索十分重要。...而应用在下一个版本必须对模型进行更改,例如需要添加一个新表。如果没有迁移机制,这将需要做许多工作。无论是在你的开发机器上,还是在你的服务器上,都需要弄清楚如何变更你的数据库结构才能完成这项任务。...通过数据库迁移机制的支持,在你修改应用中的模型之后,将生成一个新的迁移脚本(flask db migrate),你可能会审查它以确保自动生成的正确性,然后将更改应用到你的开发数据库(flask db upgrade...最基本的查询就是返回该类的所有元素,它被适当地命名为all()。请注意,添加这些用户时,它们的id字段依次自动设置为1和2。

    2.3K20

    Python回顾与整理2:Python对象

    (3)布尔值 前面提及布尔值,有以下几点注意: 每个对象天生具有布尔True或False值 空对象 值为零的任何数字或者Null对象的布尔值都是False 用户创建的类实例如果定义了...它的布尔值始终为True。...在Python中,应该将变量名看成是对象的一个链接,对对象的一个引用,它被指向这个对象,而不是直接赋值为该对象。...140407360100672 >>> x = 'change' >>> id(x) 140407359514784 也就是说,表面上值是改变了,但实际上是3这个数字对象被丢弃回收,然后创建了一个新的数字对象...将上面的三种分类模型和Python对应的数据结构进行总结,可如下: 标准类型分类 数据类型 存储模型 更新模型 访问模型 数字 标量 不可更改 直接访问 字符串 标量 不可更改 顺序访问 列表 容器

    62710

    odoo 开发入门教程系列-模型和基本字段

    模型和基本字段 在上一章的末尾,我们创建一个odoo模块。然而,此时它仍然是一个空壳,不允许我们存储任何数据。...ORM 层是odoo的一个关键组件。该层避免了手动写入大部分SQL并提供可扩展性和安全服务. 业务对象被定义为继承于 Model的Python类。可以通过在定义中设置属性来配置model。...最重要的属性为 _name,该属性定义了model在odoo系统中的属性。...有两大类领域字段:‘简单’字段--直接存储在模型表中的原子值,形如Boolean, Float, Char, Text, Date 和Selection, ‘关系型’ 字段--连接相同或者不同模型的记录...required (bool, default: False) 如果为 True, 表示该字段值不能为空。创建记录时必须拥有默认值或给定的值。

    2.4K30

    2022盘点工作室常用的API数据接口开发平台

    果创云果创云(YesApi.cn),是一个低代码数据接口开发平台,为工作室提供“开箱即用”的数据API接口。...timestamp等;设置字段的长度,仅对部分字段有效;设置字段默认值;设置字段索引;设置字段的列表格式刷,方便更友好的人工查看数据,例如有:数字、图片、链接、人民币、百分比、信息隐藏等。...(AND或者OR),查找获取一条数据,并且在获取数据后更改字段,从而实现非重复数据的获取。...常用数据接口Top 5:创建或更新非重复新数据接口 App.Table.CheckCreateOrUpdate接口描述: 增改 在自定义数据模型中尝试添加一个【非重复】新数据,如果数据已经存在,则进行更新操作...在MyAPI,可以在后台查看自己DIY的接口列表。在DIY新接口时,你可以选择需要生成的API数据接口模板,在生成CURD数据接口时,你可以先选择操作哪个数据模型,然后再选择需要生成的API接口功能。

    1.2K50

    bigML中提升树模型的6个步骤

    在我们关于提升树模型(Boosted Trees)的这六个系列文章的第一篇博客文章中,我们看到了对提升树集( Trees)的一个介绍,以获得关于这个新资源是什么以及它如何帮助您解决分类和回归问题的一些背景...您可以按照多个条件过滤数据集,甚至可以从现有数据创建新的字段。 如果检查到数据没有错误,您需要将数据集分成两个不同的子集:一个用于训练Boosted Trees模型,另一个用于测试。...默认情况下,您的数据集的最后一个字段被选为目标字段,但您可以使用左侧的下拉列表轻松更改。要启用提升,请在类型下选择提升树。这将打开高级配置下的增强标签。 当然,您现在可以使用默认设置并单击创建集成。...4.分析你的提升树模型 一旦创建了提升树模型(Boosted Trees),资源视图将包含称为局部依赖图的可视化对象或PDP。该图表忽略除轴上显示的两个区域以外的所有区域的影响。...如果您希望其他字段影响结果,则可以通过选中输入字段部分中的框或将它们设置为轴来选择它们。 轴最初设置为两个最重要的领域。您可以随时使用X和Y附近的下拉菜单更改字段。

    2.2K00

    深入学习下 TypeScript 中的泛型

    想象一下,您想要创建一个类型,给定另一个类型,该类型返回一个新类型,其中所有属性都设置为具有布尔值。...这将创建一个名为 K 的新类型,它绑定到当前属性的名称。这可用于使用语法 T[K] 访问原始类型中此属性的类型。在这种情况下,您将属性的类型设置为布尔值。...该对象将具有与模型相同的属性,但类型设置为布尔值。在一个字段中传递 true 意味着您希望它被返回,而 false 则意味着您希望它被省略。...您可以在现有模型类型上使用 BooleanFields 泛型来返回与模型具有相同形状的新类型,但所有字段都设置为布尔类型,如以下突出显示的代码所示: type BooleanFields = {...= IsStringTypeB>; 在此代码中,您创建了两种类型,A 和 B。

    39K30

    深入学习下 TypeScript 中的泛型

    在本节中,您将看到如何创建映射类型。想象一下,您想要创建一个类型,给定另一个类型,该类型返回一个新类型,其中所有属性都设置为具有布尔值。...这将创建一个名为 K 的新类型,它绑定到当前属性的名称。这可用于使用语法 T[K] 访问原始类型中此属性的类型。在这种情况下,您将属性的类型设置为布尔值。...该对象将具有与模型相同的属性,但类型设置为布尔值。在一个字段中传递 true 意味着您希望它被返回,而 false 则意味着您希望它被省略。...您可以在现有模型类型上使用 BooleanFields 泛型来返回与模型具有相同形状的新类型,但所有字段都设置为布尔类型,如以下突出显示的代码所示:代码语言:javascript复制type BooleanFields...IsStringTypeB>;在此代码中,您创建了两种类型,A 和 B。

    17710

    使用Flask部署ML模型

    总的来说,目的是展示如何将iris_model包中的模型代码部署到一个简单的Web应用程序中。还想展示MLModel抽象如何在生产软件中更容易地使用机器学习模型。...这个类不是真正的单例,因为每次实例化类时都会创建一个新对象。但是,same_models列表将始终可用于该类的所有实例。选择以这种方式实现单例模式以保持代码简单。...该预测终点,因为它并没有定义为是预计输入和输出数据的模式类从以前的终端不同的功能。如果客户想要知道需要将哪些字段发送到模型进行预测,它可以找到元数据端点发布的JSON模式中的字段的描述。...如果Flask应用程序中安装了具有新输入或输出模式的新版本模型,则Flask应用程序的代码根本不需要更改以适应新模型。...如果Flask应用程序中安装了具有新输入或输出模式的新版本模型,则Flask应用程序的代码根本不需要更改以适应新模型。

    2.5K10

    odoo 开发入门教程系列-计算的字段和变更(Computed Fields And Onchanges)

    自然地我们将总面积定义这两者的总和,我们将为此使用计算的字段的概念,即给定字段的值将从其他字段的值中计算出来。 到目前为止,字段已直接存储在数据库中并直接从数据库中检索。字段也可以被计算。...在这种情况下,不会从数据库中检索字段的值,而是通过调用模型的方法来动态计算的字段的值。 要创建计算的字段,请创建字段并将其属性compute设置为方法的名称。...设置“garden”字段后,我们希望为花园面积和朝向提供默认值。此外,当“花园”字段未设置时,我们希望花园面积和重置为零,并删除朝向。在这种情况下,给定字段的值会影响其他字段的值。...练习--为花园面积和朝向赋值 在estate.property模型中创建 onchange 方法以便当勾选花园时,设置花园面积(10)和朝向(North),未勾选时,移除花园面积和朝向值。...始终首选computed field,因为它们也是在表单视图上下文之外触发的。永远不要使用onchange将业务逻辑添加到模型中。

    3.2K30
    领券