res_company_white_url.py 详解

2023-10-26

res_company_white_url.py,主要作用是,在数据库中建立一个表,存放白名单的URL。当我们读取文件时,先判断Referer是否在白名单中,如果不在则自动转到一个图片文件,防止盗链。
在这里插入图片描述
在这里插入图片描述
接下来我们看一下主要代码:

class CompanyWhiteUrl(models.Model):
    _name = 'res.company.whiteurl'
    _description = 'Company White Url configuration'
    _order = 'sequence'
    _rec_name = 'white_url'

定义一个模型CompanyWhiteUrl,继承于models.Model,绝大多数Odoo模型中,模型都是基于models.Model模型的。 这种类型的模型具有永久的数据库持久性:为它们创建数据库表,并且它们的记录被存储,直到被显式删除。除models.Model 基本模型外还有另外两种分别是瞬态模型:models.TransientModel以及抽象模型:models.AbstractModel。
_name属性是模型中的必填属性,Odoo里类的唯一标识,并且在整个模型文件的全局不能够重复。
_description是描述属性,只在查看模型界面的时候作为展示之用。它可选不填,但好的编码习惯我们应该书写尽量详尽的描述。
_order :当浏览模型记录或者显示在列表视图时,设置默认排序字段。
_rec_name:用来指出引用关联字描述记录的字段,例如多对一关系。 默认情况下,它使用name字段,这是模型中常见的字段。但是这个属性允许我们使用任何其他字段来实现这个目的。

def _get_white_url_dicts(self):
    whiteurls = self.sudo().search([('white_url', '!=', False)], order='sequence')
    res = whiteurls.read([
        'white_url'
    ])
    return res

定义一个方法,self.sudo()获得超级权限,从而确保我们的操作能够进行。
search(domain).read(fields):返回记录集的指定字段值列表。返回字典列表。

sequence = fields.Integer(default=10)
company = fields.Many2one('res.company', string='Company', required=True, ondelete='cascade')
white_url = fields.Char(string='White Url', required=True, default='www.tderp.com')
url_name = fields.Char(string='Url Name', required=True, default='宜兴通达科技')

定义4个字段,
sequence(Integer) 模型保留字段, 可修改的排序,可以在列表视图里通过拖拽进行排序。

Company 多对一关系:Many2one关系需要两个参数:关联模块和展示字符。
它会在数据库表中创建一个拥有外键的字段去关联数据库表。
其他参数:
ondelete 在关联的记录被删除时,将会触发。默认值是null,也就是说,当关联的记录被删除时,它将被置空。其它值为restrict,当记录被关联时,禁止删除,cascade,删除关联记录的同时删除当前记录。

white_url和url_name定义两个Char类型字段,用来存储URL和URL name.
在这里插入图片描述
演示:

https://demo.tderp.com

用户名:admin
密码:admin

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

res_company_white_url.py 详解 的相关文章

随机推荐

  • python中sys是什么意思_python里的sys是什么意思

    sys模块功能多 我们这里介绍一些比较实用的功能 相信你会喜欢的 和我一起走进python的模块吧 sys模块的常见函数列表 sys argv 实现从程序外部向程序传递参数 sys exit arg 程序中间的退出 arg 0为正常退出 s
  • ubuntu配置mysql网络连接_在Ubuntu14.04中配置mysql远程连接教程

    上一篇文章 小编带大家学会了在Ubuntu14 04中安装MySQL 没有来得及上课的小伙伴们可以戳这篇文章 如何在Ubuntu14 04中安装mysql 今天给大家分享一下 如何简单的配置MySQL 可以实现远程连接 具体的教程如下 1
  • 代码雨类库的实现

    代码雨类库的实现 电影黑客帝国有个代码雨效果 挺酷的 我在网上看到了使用js写的代码雨的代码 我把由函数实现的代码 改为使用类实现代码雨特效 一 设计一个简单美化的网页且包含该有的功能 功能 1 一块画布 实现代码雨的展示 2 初始化按钮
  • 字节跳动第五届青训营后端练习题——分割ip(Java版)

    题目 有效 IP 地址正好由四个整数 每个整数位于 0 到 255 之间组成 且不能含有前导 0 整数之间用 分隔 例如 0 1 2 201 和 192 168 1 1 是有效 IP 地址 但是 0 011 255 245 192 168
  • nginx 反向代理常用配置

    全部代理 location 设置跨域 add header Access Control Allow Origin add header Access Control Allow Methods GET POST OPTIONS add h
  • TS2559: Type ‘{ children: string; }‘ has no properties in common with type ‘IntrinsicAttributes & Fi

    Type children string key string is not assignable to type IntrinsicAttributes FilterTagPropsType Property children does
  • 锁与事务的关系

    在并发场景下 我们往往需要在事务方法中加锁来应对并发 如下 下面以 ReentrantLock 为例子 public final static ReentrantLock MY LOCK new ReentrantLock Transact
  • ubuntu安装ssh无法连接解决日志(已解决,可连接)

    原文链接http bbs chinaunix net thread 3585704 1 1 html 网上有很多介绍在Ubuntu下开启SSH服务的文章 但大多数介绍的方法测试后都不太理想 均不能实现远程登录到Ubuntu上 最后分析原因是
  • SpringBoot项目配置全局处理异常

    1 自定义异常 自定义异常 public class RRException extends RuntimeException private static final long serialVersionUID 1L private St
  • k8s学习

    主节点配置一定要好 K8S学习之路 1 介绍 1 1单机部署 1 2 虚拟化部署 类似window上安装多个linux虚拟机 在虚拟机中部署程序 使得程序之间不会互相影响 1 3 容器化部署 共享了操作系统 保证每个系统拥有自己的文件系统
  • MySQL-binlog2sql:非主从关系实现数据的【数据同步+数据恢复+数据追踪】

    文章目录 MySQL binlog2sql 非主从实时同步 恢复误删数据 1 引 1 介绍 2 功能 3 针对3种场景 4 脚本汇总说明 2 先决条件 1 安装 MySQL 2 修改 MySQL 配置 3 安装 binlog2sql 1 解
  • yii2 mysql设置时区

    第一步 修改配置文件 common config db php 注 8 00为北京时间 Asia Shanghai common config main php 第二步 修改vendor yiisoft yii2 db Connection
  • 抓取网站中的视频

    最近想从别人家的网站宣传片上提取一些素材 借鉴一下 之前也没有弄过 但是我的思路就是从网页的缓存中查找播放完后缓存的视频 然后失败了 然后又想到了网页打开源代码 然后查找到网页源代码饮用的视频的路径 然后找到视频 然后 再次失败 网上找了好
  • css基础———清除浮动的一些方法及区别

    为什么要清楚浮动 地址 http blog csdn net qwe502763576 article details 78811658 清除浮动方法概览 这里例举四种常见的清除浮动方式 方式一 使用overflow属性来清除浮动 ovh
  • 论文阅读

    简介 paper https arxiv org abs 1911 11907 github https github com huawei noah ghostnet Ghostnet CVPR2020 是华为提出的一种轻量级网络 结构类
  • WSL安装

    WSL安装教程 WSL简介 Windows Subsystem for Linux 简称WSL 是一个在Windows10上能够运行原生Linux二进制可执行文件 ELF格式 的兼容层 它是有微软与Canonical公司合作开发 其目标正是
  • 模糊查询与带参数跳转

    一 模糊查询 使用
  • 方法重写(override)原则

    方法的重写 override 两同两小一大原则 1 方法名相同 参数类型相同 2 子类返回类型小于等于父类方法返回类型 3 子类抛出异常小于等于父类方法抛出异常 4 子类访问权限大于等于父类方法访问权限
  • oracle RAC ORA-03113 错误解决

    好久 没有更新博客 太懒了 这咋换工作呢 1 错误现象 数据库 客户端连接不正常 频繁报 ORA 03113 错误 oracle 文档中对这个错误这样解释 ORA 03113 错误就是说连接到数据库的网络中断了 有些错误由于频繁出现 原因复
  • res_company_white_url.py 详解

    res company white url py 主要作用是 在数据库中建立一个表 存放白名单的URL 当我们读取文件时 先判断Referer是否在白名单中 如果不在则自动转到一个图片文件 防止盗链 接下来我们看一下主要代码 class C