自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (2)
  • 收藏
  • 关注

原创 通过元类创建单例模式

通过元类创建单例模式,看看有没有更好的实现方式

2024-07-30 11:26:56 78

原创 odoo 16 科目余额表集成

使用 owl 加 client action的方式实现。表头使用stick 布局固定。

2024-05-14 22:13:29 142 1

原创 odoo16 银行对账单导入改造

odoo16 银行对账单导入改造,实现csv和camt文件的前置预览修改

2024-05-14 22:08:04 215

原创 odoo16 全局搜索菜单

主要思路: 参考原生的many2one字段的相关源码,添加 systray 组件。解决菜单过多用户寻找相关菜单的效率问题,可快速实现菜单跳转。

2023-12-12 19:21:45 540

原创 odoo自定义提示性校验

odoo16自定义提示性校验

2023-12-05 23:06:30 1092

原创 day4-Django的model

​​title = models.CharField('标题', max_length=20)# 发行时间pub_time = models.DateTimeField('发表时间',# 内容content = RichTextUploadingField(verbose_name="内容",blank=False,null=False)# 用户iddb_table = 'article' # 修改表名。

2023-04-26 22:49:14 581

原创 day3-Django的Template

{% ifequal v1 v2 %}{% else %} {% endifequal%} ifnotequal 判断不相等,用法一样。{% for xxx in list %} {% empty %} {% endfor %} empty可选子句在列表为空时执行。额外的选项,context_processors配置上下文处理器,也就是一个个字典对象,模板默认渲染的上下文。其中,ns是视图的命名空间,name是视图的名称,如果是动态url,则需要填arg的值。指定模板引擎的python路径。

2023-04-23 21:42:39 406

原创 day2-Django视图的请求对象和响应对象

HttpRequest对象定义于django/http/request.py文件中,每当一个请求到来的时候,Django就会创建一个携带有元数据的HttpRequest对象,传递给视图函数的第一个参数。

2023-04-21 22:07:47 478

原创 day1-Django 视图

Django视图 设置setting.py文件debug=False定义错误页面的模板文件 404.html、400.html、403.html和500.html在项目(非子应用)的url.py 文件中配置好 handler对应的视图函数#错误页面400定义错误页面处理视图。

2023-04-20 22:25:02 360

原创 day1-Django命令、目录结构

django的一些基础命令、目录文件、子应用

2023-04-20 13:44:47 231

原创 牛客识别有效的掩码并且分类统计(python)

【代码】牛客识别有效的掩码并且分类统计(python)

2023-04-08 13:59:50 98

原创 odoo的密码机制

odoo忘记密码,如何批量验证数据库中加密的密码?调用 passlib模块中的方法验证密码,使用的对象和设置密码的对象是同一个对象,self._crypt_context().verify_and_update(password, hashed)。如果出现密码忘记的情况,可以将数据库中的hash值取出来,循环调用 verify_and_update方法验证多个可能的密码。self._crypt_contect()就是上述中的DEFAULT_CRYPT_CONTEXT对象。

2023-04-05 20:39:30 485

原创 0-1背包问题(python实现)

定义一个二维数组 dp,其中dp[i][j]表示 将下标为 0-i之间的物品放入容量为j的背包的最大价值。

2023-04-05 10:20:55 716

原创 斐波那契数列(python实现)

【代码】斐波那契数列(python实现)

2023-03-27 09:13:49 100

原创 力扣-最大子数组和(python实现)

所以 dp方程为 dp[i] = dp[i-1]>0?dp[i-1]+num[i]:nums[i]如果以第i-1个元素结尾的最大子数组之和大于0,则第 i个元素结尾的子数组就加上第i个元素,求最大连续子数组 其实就是求每个元素结尾的数组 的 最大值。其中 dp[i] 表示 以第i个元素结尾的最大连续数组的和。其他优化方法后续更新....

2023-03-26 20:24:43 98

原创 斐波那契数列求和

【代码】斐波那契数列求和。

2023-03-24 16:41:24 115

原创 odoo 消息提醒

2、通过 message_post_with_view 方法。第一个参数使 qweb 模板的id,value是要传入的值。1、在字段定义的时候添加 tracking 属性。只追溯 定义了该属性的字段。

2023-03-23 16:05:00 428

原创 odoo计算字段添加查询

odoo计算字段筛选!!!缺点:在调用 .filtered 方法的时候其实底层还是调用了 字段的计算方法,一旦filtered之后的数据量比较大时,筛选速度会受影响,所以 一般查询时把窗口动作的 domain作为查询条件再进行过滤,然后返回匹配记录集的id列表。优点:对所有的数据进行计算,即使是模块升级,字段不存储在数据库,能避免加上store=True时不触发计算方法的问题。缺点:加大了数据库的空间消耗,在模块突然升级时,原有的数据并不会触发计算方法。

2023-03-15 10:43:55 268

原创 odoo 实现选中记录时显示按钮

odoo如何实现可选显示按钮?主要是给tree视图添加一个原生的 o_sale_order 类,然后插入header标签。在选中记录时显示删除按钮,不选中时不显示。

2023-03-07 23:24:56 192 1

原创 Ubuntu安装nginx到配置ssl证书

配置文件默认在 /etc/nginx文件夹下面,可以编辑nginx.conf 或者 sites-enabled文件夹下面的默认配置文件 default。从所申请证书的网站上下载,并且将crt和key尾缀的文件上传到服务器。修改之后需要 重新加载 nginx -s reload。以特定的配置文件启动 nginx -c 文件名。重新加载 nginx -s reload。检查配置文件是否有问题 nginx -t。关闭 nginx -s stop。查看版本号 nginx -v。

2023-03-03 23:31:32 3523 1

原创 Linux常用但容易忘记的命令

查找内容:/xxx xxx表示要查找的内容。4、window终端查看服务器某个端口是否开通。然后回车:n查找下一个 ,N查找上一个。sudo lsof -i:端口号。telnet ip 端口。3、杀死某个端口使用的进程。5、查看服务器开放的端口。6、查看磁盘使用情况。未完,待补充....

2023-03-03 23:13:56 80

原创 odoo看板视图拓展

QWeb.render 方法将之前定义好的template生成一个dom节点,然后插入该节点。主要是对 web.KanbanRenderer进行拓展,重写它的_rander渲染方法。其实就是在看板视图的基础上加了一个表格,这个表格由4个td标签组成。最后别忘记在 看板视图中引入该js_class。然后在xml中引入js和css文件。

2023-02-22 11:38:38 429

原创 懒汉式单例模式

【代码】懒汉式单例模式。

2023-01-11 17:21:51 84

原创 饿汉式单例模式

【代码】饿汉式单例模式。

2023-01-11 17:18:19 61

原创 unittest单元测试

4.setUp():每个测试方法运行前运行,测试前的初始化工作。一条用例执行一次,若N次用例就执行N次,根据用例的数量来定。tearDown方法在每个测试用例执行之后执行。3.setUpClass():所有的测试方法运行前运行,为单元测试做前期准备,但必须使用@classmethod。进行修饰,整个测试过程中只执行一次。tearDownClass方法与其相反,在每个测试用例执行之后执行。2.测试方法以 test_开头,表示哪些方法需要用来测试。基本样例:测试字符串的三种方法。5.在调用测试脚本时添加。

2023-01-03 15:33:18 99

原创 简单工厂模式

python实现简单工厂模式。图表库可以为应用系统提供各种不同外观的图表,例如柱状图、饼状图、折线图。:提供创建不同物品的方法,通过传入的参数不同而创建不同的物品。:将具体类公共的代码进行抽象和提取后封装在一个类中。

2022-12-28 16:30:57 56

原创 odoo 上传自定义的导入模板

odoo修改系统默认的导入模板,通过看源码可以知道,进入这个页面的时候,系统默认调用了这个模型的 get_import_templates 方法,于是便重写这个方法,为了不和其他视图冲突,因为这个模型的其他视图可能用的是另外一个模板,加了一个上下文筛选。

2022-11-21 16:00:54 576

原创 pgsql 常用的基本命令

其他用户:psql -h -p [数据库名称] [用户名称]: \encoding 如: \encoding UTF8;postgres用户:psql。

2022-11-17 14:30:47 1126

原创 odoo 字段inverse属性解析

odoo字段的inverse属性,字段total就是一个计算字段,设置了compute属性,绑定函数 _compute_total,而且使用了装饰器,随着amount字段值的变化而重新计算,由于计算字段是一个依赖字段,在前端页面用户是不能手动编辑的,而我们又想通过自动设置这个字段的值更新它所依赖的字段的值,这时候我们就要用到inverse属性。odoo中的反函数即通过设置字段的 inverse 属性实现,在讲这个属性之前,我们需要知道。当用户手动更新total的值的时候,amount的值也会随着更新。

2022-11-15 23:09:24 561

原创 python 定时发送电子邮件

python 如何定时发送电子邮件,用的工具库是 schedule 、smtplib、email。

2022-11-11 11:06:56 1179 1

原创 odoo 13邮件模板

在经历无数次失败之后发现系统在渲染模板的时候会自动将 for循环前置到循环体上面,而不是我们所定义的包含了循环体。% for xx in xx: ... % endfor 表示for循环。正确写法是使用嵌套table标签,table>tr>td>table>tr>for。该模板使用的是 email.template模型,使用的引擎是jinja。如何使用这个模板动态的生成表格数据?object :表示对象的一条记录。${xxx} :获取xxx的值。

2022-11-07 17:50:17 568 1

原创 odoo 实现汇率同步、可视化、预警

最近公司有一个对实时汇率可视化,汇率预警的需求。1、创建定时任务一天执行一次同步汇率数据。2、自定义widget插入到看板视图。

2022-10-29 14:55:37 521

原创 一个字段在多公司之间设置不一样的值

增加了这个属性之后,这个字段的值不会存在原来的表中,而是会存贮在ir_property。在多公司场景下,我们往往要让一个字段在不同公司显示的值不一样。company_dependent属性。这时候就需要在定义字段的时候使用。

2022-10-28 18:55:17 312

原创 odoo css样式显示问题

odoo的css样式无法加载

2022-10-28 14:15:07 600

原创 odoo res.config.settings 解析

odoo中的res.config.setting如何使用?源码的解释是:继承自瞬态模型,应用程序设置的基本配置向导。它支持设置默认值、为员工用户分配组和安装模块。也许你会有疑问:瞬态模型怎么保存数据?其实他的数据保存机制都是通过调用一些方法,保存在其他模型里面,例如 res_groups,1、默认值。

2022-10-22 14:39:44 826

原创 odoo 常用小部件及其用法

odoo常用组件1、显示百分号2、标签组件3、handle 组件(拖拽排序)4、状态栏组件5、binary组件6、货币组件

2022-10-18 17:51:10 1518 2

原创 odoo 定时任务发送邮件

odoo配置发件服务器。配置之前准备工作:自己先开通邮箱服务,不管是网易还是QQ或者其他邮箱。当所有信息输入完成之后,点击测试连接可以看到自己配置是否成功。以QQ邮箱为例:stmp服务器地址是:smtp.qq.com。不同的smtp服务器和它所对应的地址可以百度搜到。其中三个重要的参数就是 smtp服务器地址。依次点击 技术-->发件服务器-->创建。然后用户名是邮箱账号,

2022-10-18 11:29:18 1652

原创 odoo解决模型没有注册的错误

说明我们刚开始只导入了base模块,而我们在模型继承的时候继承的不是原生的base模块中的模型,而是原生的其他模块的模型,这时就会报模型没有注册的错误。当我们在升级或者安装模块的时候:突然冒出一句。模型,该模型是定义在原生的stock模块中。出现这个错误的原因一般是缺少相关依赖。

2022-10-17 16:51:07 679

原创 odoo 创建定时任务

odoo 创建定时任务,需求描述:需要在某一特定的时间执行某一段python代码,可具有一定的周期性。下面的 code属性的python方法就是从所绑定的模型中调用。:如果任务的执行时间刚好因服务器重启错过,是否立刻执行。界面创建:依次点击 安排的动作-->创建。执行该定时任务所调用的python代码。定时任务所绑定的模型,形式是。通过代码创建定时任务。

2022-10-17 16:22:30 1272

原创 C语言之创建链表

c语言单链表的创建过程分析

2022-10-16 01:12:42 4389

tkinter搭建的图书管理系统

#### 介绍 语言python,适合初学者学习的一个基于tkinter的个人书籍管理系统, 实现用户登录、注册,显示所有书籍,删除选中书籍,修改书籍,添加书籍, 按条件查询,按条件排序功能。 #### 软件架构 mvc架构 #### 安装教程 python环境 #### 使用说明 运行 main.py文件 喜欢的话可以关注一下博主,有关技术上的问题一起讨论

2022-08-12

odoo快速入门思维导图

既是公司的要求,也是自己花一个月时间整理出来的odoo入门思维导图, 可以帮助小白快速了解odoo学习的基本路线

2022-08-09

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除