三种方式实现数据更新

  • 一,如上所述
  • 二,通过对数据集调用update({'key':value,'key1':value1..})更新数据集
  • 三,调用write函数,与update类似,传递字典。
   
元组 影响
(0, 0, dict_val) 将新创建的记录对象关联到主记录上
(1, id, dict_val) 更新特定(ID)关联记录的值
(2, id) 移除ID的记录,并从数据库删除ID的记录
(3, id) 取消记录ID的关联,但并不从数据库删除记录
(4, id) 添加关联新的已经存在的纪录
(5, ) 移除所有的记录,类似于对每一个ID调用(3, id)
(6, 0, id_list) 这将在正在更新的记录和现有记录之间创建一个关系,现有记录的id在名为id list的Python列表中。

生成不同尺寸的图片

大图片对任何网站来说都是麻烦的。它们增加了网页的大小,结果使网页变慢。这就导致了不好的SEO排名和访问者流失。本节,我们将探索如何创建不同大小的图像;通过使用正确的图像,您可以减少网页大小和改善页面加载时间。

步骤

您将需要继承image.mixin。如下:

class LibraryBook(models.Model):
_name = 'library.book'
_description = 'Library Book'
_inherit = ['image.mixin']

mixin模型将自动添加5个字段,用于存储不同大小的图片。

步骤

image.mixin实例将自动向模型添加5个新的二进制字段。每个字段存储具有不同分辨率的图像。以下是这些领域及其解决方案的列表:

  • image_1920: 1,920x1,920
  • image_1024: 1,024x1,024
  • image_512: 512x1,512
  • image_256: 256x256
  • image_128: 128x128
    在这里给出的所有字段中,只有image_1920是可编辑的。其他图像字段是只读的,当您更改image_1920字段时,它们会自动更新。因此,在模型的后端表单视图中,您需要使用image_1920字段来允许用户上传图像。但这样做,我们在表单视图中加载大image_1920图像。但是,有一种方法可以提高性能,即在form视图中使用image_1920图像,但是显示较小的图像。例如,我们可以使用image_1920字段,但显示image_128字段。要做到这一点,你可以使用以下语法:
 <field name="image_1920" widget="image" options="{'preview_image': 'image_128'}" />

将图像保存到字段后,Odoo会自动调整图像的大小并将其存储到相应的字段中。form视图将显示转换后的image_128,因为我们使用它作为preview_image。

小贴士
image.mixin模型是AbstractModel,所以它的表不在数据库中。为了使用它,您需要在模型中继承它。

image.mixin,您可以存储的图像的最大分辨率为1920 × 1920。如果您保存的图像分辨率高于1920 x1920, Odoo会将其降低为1920 x1920。在这样做的同时,Odoo还将保留图像的分辨率,避免任何失真。例如,如果您上传的图像分辨率为2,400x1,600,那么image_1920字段的分辨率将为1,920x1,280。

更多

image.mixin,你可以获得特定分辨率的图像,但是如果你想使用另一种分辨率的图像呢?为此,您可以使用二进制包装字段图像,如下面的示例所示:

image_1500 = fields.Image("Image 1500", max_width=1500, max_ height=1500)

这将创建一个新的image_1500字段,存储图像将把它的分辨率调整为1500 x1500。注意,这不是image.mixin的一部分。它只是将图像缩小为1,500x1,500,因此需要在form视图中添加该字段;编辑它不会改变image.mixin中的其他图像字段。如果您想将其与现有的图像链接。在字段定义中添加related="image_1920"属性。

odoo14学习----x2many操作与图片设置继承image.mixin的更多相关文章

  1. JAVA GUI学习 - 窗体背景图片设置方法:重写paintComponent(Graphics g)方法

    public class BackgroundImage extends JFrame { public BackgroundImage() { this.setTitle("窗体背景图片设 ...

  2. Javascript学习6 - 类、对象、继承

    原文:Javascript学习6 - 类.对象.继承 Javasciprt并不像C++一样支持真正的类,也不是用class关键字来定义类.Javascript定义类也是使用function关键字来完成 ...

  3. SQL反模式学习笔记12 存储图片或其他多媒体大文件

    目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点:     1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...

  4. iOS学习笔记之异步图片下载

    写在前面 在iOS开发中,无论是在UITableView还是在UICollectionView中,通过网络获取图片设置到cell上是较为常见的需求.尽管有很多现存的第三方库可以将下载和缓存功能都封装好 ...

  5. scrapy爬虫学习系列五:图片的抓取和下载

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

  6. 安装Linux系统,学习Linux操作基础

    20189230杨静怡 2018-2019-2 <移动平台开发实践>第1周学习总结 安装Linux系统内容总结 一.学习"基于VirtualBox虚拟机安装Ubuntu图文教程& ...

  7. (转)Android学习-使用Async-Http实现图片压缩并上传功能

    (转)Android学习-使用Async-Http实现图片压缩并上传功能 文章转载自:作者:RyaneLee链接:http://www.jianshu.com/p/940fc7ba39e1 让我头疼一 ...

  8. 4-python学习——数据操作

    4-python学习--数据操作 参考python类型转换.数值操作(收藏) Python基本运算符 数据类型转换: 有时候,可能需要执行的内置类型之间的转换.类型之间的转换,只需使用类名作为函数. ...

  9. iOS开发中的错误整理,启动图片设置了没有效果;单独创建xib需要注意的事项;图片取消系统渲染的快捷方式

    一.启动图片设置了没有效果 解决方案:缓存啊!卸了程序重新安装吧!!!!! 二.单独创建xib需要注意的事项 三.图片取消系统渲染的快捷方式

随机推荐

  1. 『动善时』JMeter基础 — 41、使用JMeter连接数据库(MySQL)

    目录 1.为什么要使用JMeter连接数据库 2.JMeter连接数据库的前提 3.JDBC连接配置组件界面介绍 4.JMeter连接数据库演示 (1)测试计划内包含的元件 (2)测试计划中添加链接数 ...

  2. APP的闪退和无响应

    1.app闪退(crash,崩溃):程序异常退出不再运行 闪退的原因: a.程序内部逻辑错误(因算法或网络连接引起的异常,或是为捕捉到的错误) b.系统自身异常:一般自定ROM或刷机后比较常见 c.运 ...

  3. 【工具解析】瑞士军刀bettercap2.X_解析_第二期_内网钓鱼(嗅探)工具编写

    /文章作者:Kali_MG1937 CNBLOG博客:ALDYS4 QQ:3496925334/ 第一期: https://www.cnblogs.com/aldys4/p/14877783.html ...

  4. .Net Redis实战指南——常用命令

    本问主要介绍rabbitmqctl工具的常用命令. vhost 一个RabbitMQ服务器可以创建多个虚拟的消息服务器,称之为虚拟主机(virtual host),简称为vhost.vhost之间是绝 ...

  5. 【NX二次开发】UF_OBJ_ask_display_properties获取对象所在层、获取对象颜色、获取对象是否隐藏、获取对象是否高亮,获取对象线宽、字体大小

    UF_OBJ_ask_display_properties 返回一个对象的显示属性(层.颜色.隐藏状态.线宽和字体). UF_OBJ_disp_props_p_t结构体: layer int 对象所在 ...

  6. Windows的静态库与动态库

    Windows的静态库与动态库 1.静态库 1.1 静态库特点 运行不存在 静态库源码被链接到调用程序中 目标程序的归档 1.2 C语言静态库 C静态库的创建 创建一个静态库项目. 添加库程序,源文件 ...

  7. YOLO V4 :win10+cpu环境的体验

    1.前言 Yolo V3已经体验了,接下来是V4版本. 关于V4版本,学术界褒贬不一.从工业界实际应用角度看,V4做了不少的优化,精度提升了10%,速度提升了12%.详细参见: <如何评价新出的 ...

  8. npm ERR! Unexpected end of JSON input while parsing near '...'解决方法

    npm install时出现npm err! Unexpected end of JSON input while parsing near'...'错误 输入  npm cache clean -- ...

  9. 二、JavaSE语言基础之常量与变量

    1.常量   所谓常量值的是数据处理过程中值不能更改的数据. 2.变量   所谓变量值的是运算过程中值可以改变的数据,类似于代数中的未知数.   在Java语言中,使用变量时必须遵循先定义,而后赋值, ...

  10. 数据备份[APIO/CTSC 2007]题解

    题目描述 你在一家IT公司为大型写字楼或办公楼的计算机数据做备份. 然而数据备份的工作是枯燥乏味的,因此你想设计一个系统让不同的办公楼彼此之间互相备份,而你则坐在家中尽享计算机游戏的乐趣. 已知办公楼 ...