- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 python yield 大文件读取
大文件读取 python yielddef read_file(fpath): BLOCK_SIZE = 1024 with open(fpath, 'rb') as f: print(f) while True: block = f.read(BLOCK_SIZE) if block: yield block else: return
2021-03-10 09:47:12
544
1
原创 odoo 合并同模型两条记录功能
合并用户功能,将其他单据的关联也替换掉借鉴了odoo 14 的联系人合并功能开发,延申拓展,万能用法所见即所得 !!!!!看到就拆下!!!!!# -*- coding: utf-8 -*-# Odoo的一部分。我又拆了下来作为通用功能,所见即所得!!!!!!!!!!!!!# 作者:颜skfrom ast import literal_evalimport functoolsimport itertoolsimport loggingimport psycopg2import date
2021-03-03 19:42:28
781
1
原创 odoo 用户登录机制
可以直接更改此方法做二开来做各种验证登录使用 @classmethod def _login(cls, db, login, password): if not password: raise AccessDenied() ip = request.httprequest.environ['REMOTE_ADDR'] if request else 'n/a' try: with cls.pool.cu
2021-03-02 20:55:50
2270
2
原创 odoo 底层 用户界面详解(拆下作为一个权限申请模块功能了)
odoo 用户界面的详情本质上是一个 res.groups 群组的一个具象化,通过动态生成xml 视图文件来显示配置权限页面,个人感觉 odoo 的底层还是比较容易理解和好拆下来单独做功能的。所见即所得!# -*- coding: utf-8 -*-import itertoolsfrom odoo import models, fields, api, _from lxml.builder import Efrom itertools import chain, repeatfrom lx
2021-03-02 20:52:48
544
原创 odoo js 抓取键盘输入
贴代码odoo.define('Product.barcode', function (require) { "use strict";var FormController = require('web.FormController'); FormController.include({ _barcodeScanned: async function (barcode, target) { this._super.apply(thi
2021-03-02 20:41:20
270
原创 odoo jinja2 渲染模板运用于world 报表,html5网页
贴代码from jinja2 import Environment, FileSystemLoaderBASE_DIR = os.path.dirname(os.path.dirname(__file__))templateLoader = FileSystemLoader(searchpath=BASE_DIR + "/static/templates/html1")env_files = Environment(loader=templateLoader)def reader_jiaja2
2021-03-02 20:32:52
336
原创 微信多开,批处理
微信多开批处理语句,理论来说对电脑上任何软件都适用新建有一个 text 文件, 输入以下内容, 路径是你应用的路径,保存后更改文件名后缀为.batTASKKILL /F /IM wechat.exestart "" "D:\WeChat\WeChat.exe"start "" "D:\WeChat\WeChat.exe"...
2020-07-17 14:37:36
828
原创 odoo name_get , name_search
name_get() , 默认计算 display_name 的值@api.multi def name_get(self): res = [] demo = self._context.get('demo', False) for record in self: name = record.name if demo and record.id2: name += "[示
2020-07-15 16:41:35
401
原创 Odoo动态视图,动态字段,动态方法
odoo 动态字段&nsmp; &nsmp; 为什么要单独写一篇文章来写动态字段,是因为动态字段的难度可能比想象中要大,至于什么叫动态字段,就是根据业务需求来决定生成或者不生成某些字段,
2020-07-15 00:03:55
1415
6
原创 odoo search , mapped , browse, read, super,、装饰器、时间格式转换
odoo 搜索 search search: 用法 self.env['模型名'].search([('name', '=', '示例')]) search_read : 用法 search_read([damain], [字段名]), 汇聚成一个list 列表,内置id值, 可选参数 , order 排序, limit 记录条数, 用在接口,数据库之间数据传输很方便 mapped: 用发 records.mapped('name'),汇聚成一个列表,也可于sear
2020-07-14 22:21:58
3515
3
原创 odoo 向导、按钮弹窗、菜单弹窗、表单右上角按钮跳转
odoo 向导向导是瞬时模型,不储存数据class DemoWizard(models.TransientModel): _name = 'demo.wizard' name = fields.Char('示例')无需 tree 视图, form 视图同普通表单视图,action视图如下<record id="act_demo_wizard_view" model="ir.actions.act_window"> <field name="
2020-07-14 16:02:19
2411
2
原创 odoo之底层模型 消息
消息模型在表单添加消息模型只需要继承 mail.thread 代码如下 calss Demo(mdoels.Model): _name = 'demo' _inherit = ['mail.thread'] _description = '示例' 在配置文件 依赖 mail 模块,depends [ 'mail']在视图中写入,以下视图,位置在 sheet 下, form 上 </sheet> <div class
2020-07-14 15:25:49
493
1
原创 odoo 创建单据自动生成序列号码
odoo 单据自动生成序列号码先在模型上继承改写 create 方法// An highlighted block @api.model def create(self, vals): vals['name'] = self.env['ir.sequence'].next_by_code('apply.collection.set') or '' return super(ApplyCollectionSet, self).create(vals)ir.s
2020-07-09 10:59:55
654
原创 C# 语言之 Hello World!
C# 语言之 Hallo World! 最近新学了个静态语言,C#, 这个语言刚开始入门把我搞死了。 C# 语言的编译器我用的是 Visutal Studio 的企业版,功能很强,开始因为怎么调试把我搞得头要炸掉了。 之前是用的 python 的IDE pycharm , 很好用,现在讲一下 visual studio 需要安装的工作负载,有可能你就是在这里栽倒,然后手动cmd检验调试代码的。 一定要装 .NET 桌面开发,这样才会有模板,后面的调试就可以直接在 VIsual Stud
2020-06-07 21:49:09
353
原创 odoo 接口自动化测试
odoo 接口自动化测试 话不多说,直接上干货 关于odoo的接口自动化测试我们就使用odoo的单元测试就可以了,本质上还是引用了 python 的一个标准库, 和 Django 差不多,有区别的地方可能就是在定义的时候吧。 先定义一个文件夹 tests , 它的树形结构图如下:(注意, 不用将此文件夹在最外围的__init__.py文件中引用)在 py 文件引用 unittest 库 和 requests 库,方便做测试
2020-06-05 23:17:41
645
原创 odoo字段基本类型 和 自己的一点小心得
odoo字段类型和用法基本字段类型关联字段类型引用类型保留字段计算字段动态字段基本字段类型Binary:二进制类型,用于保存图片、视频、文件、附件等,在视图层显示为一个文件上传按钮。【Odoo底层对该类型字段的容量作了限制,最多能容纳20M内容】Char:字符型,size属性定义字符串长度。Boolean:布尔型,单选框,勾选为True,不勾选为FalseFloat:浮点型,如 rate = fields.float(digits=(12,6)), digits定义数字总长和小数部分的位数。In
2020-06-01 23:15:07
845
原创 博客首发,浅谈odoo和内心的一点小骚动
浅谈作为一名小白级程序员,从今天开始准备写自己的博客,主要是想做一下自己的原始积累,其二,也是作为简历的一部分。odoo 是我接触的第一个框架,入行开始从基础学起,从后端语言python开始学起,前端的css,js,html多多少少都有些涉猎,不过odoo是一个前后端一体化的框架,刚开始有些不习惯,像前端的html是预定义的标签,而odoo的前端视图是 xml,自定义的标签多多少少给我带来了些不习惯。作为一个刚入行几个月的大二学生来说,可能我的认知方面是比较浅显的,在参与了几个项目之后,发现odoo是
2020-05-31 16:56:32
441
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人