odoo小白写代码
文章平均质量分 74
白露-
一只不爱学习的咕咕~(。>ㅿ<。)很少看私信,请勿私信等回复,抱歉抱歉
展开
-
odoo创建模块(八)--关系字段
一.前言只有一个猫猫明细表(my_cats)是远远不够的,还记得之前提到过的关系字段吗?也就是One2many和Many2one,不记得也没关系,请移步(小白读odoo参考手册–字段)当然,使用关系型字段,必须先创建一个新的模型,那么我们就创建一个猫舍模型,用来当猫猫的家,一个猫舍会对应多只猫猫,多只猫猫对应一个猫舍,这就是关系字段,一对多,多对一的关系.还记得创建一个模块是怎么操作的吗?不记得请移步(odoo新手创建模块(一)–简单搭建),只要记得先简单的搭建模型,当程序启动后,无异常,再去添加更多原创 2021-11-15 22:38:50 · 532 阅读 · 0 评论 -
报错:Expected singleton
一.Expected singleton在学习中遇到了如下报错:ValueError: Expected singleton: ir.model.data(19897, 21168)这是返回一个数据,却找到了多个数据所导致的错误.如果在学习中遇到,就应该排查一些方法,观察是否没有指定具体的模块等....原创 2021-11-01 21:30:41 · 918 阅读 · 0 评论 -
附件:添加按钮(弹出form表单)
一.方法找到My_Cats_HomePage.py文件,增加此方法:def form_button(self): view_name = 'my_cats_view_form'#跳转到的视图的id #查找此视图id view = self.env['ir.model.data'].search([('name', '=', view_name)]) view_id = view.res_id return { 'name': '测试按钮',#名称原创 2021-10-29 22:06:33 · 1034 阅读 · 0 评论 -
odoo新手创建模块(七)--onchange的使用
一.前端校验(onchange)定义:当参数字段的值变化时便开始检查,如果检查不通过,则字段值不会发生变化,在前端页面也会抛出一个异常,更多修饰器请移步(小白读odoo参考手册–修饰器)一段好的代码,必须要有好的后端代码,为了良好的用户体验,也应当有比较合理的前端功能,定义很枯燥,我们就直接在代码中体会吧.如图,后端的代码,只在保存时调用,当检查不通过时,抛出异常,这没什么,只是用户辛辛苦苦输入了好久,只因为一个疏忽(名字输入重复),一切都要重新开始输入,这样的用户体验极差:我们用前端校验实现其优原创 2021-10-25 22:25:58 · 899 阅读 · 2 评论 -
odoo新手创建模块(六)--计算字段/隐藏tree视图值
一.计算字段(compute)字段中可使用根据函数自动计算所得的类型,计算字段的声明方式与常规字段是一样的,只是使用了compute参数,参数被赋值为一个函数的名称,如果看不懂,就直接看源码吧:我们的猫猫管理系统目前在新建数据时,会出现最后被收养时间和最后归还时间无值的情况.只有当我们保存后,再进行编辑时,才会触发修改事件,如果我们想在新建的时候,就默认归还/收养时间为当前时间,就该使用compute了找到My_Cats_HomePage.py文件,增加计算字段:#compute:计算字段,参数原创 2021-10-18 21:54:09 · 848 阅读 · 0 评论 -
附件:编辑视图
一.编辑视图(预览)odoo每修改Py文件,就要重启+升级,每修改xml文件,就要升级,有什么办法是我们改完立刻生效,直接查看结果的呢?这里我们就要使用debug模式中的小工具了.如果我们需要编辑视图,就直接在此页面的代码中修改.保存+刷新后,就可以预览修改后的效果.如,打开My_Cats_HomePage_view.xml文件,将cat_type字段修改显示名称:<field name="cat_type" string="猫猫品种"/>保存+刷新后,from视图cat_t原创 2021-10-16 17:03:04 · 159 阅读 · 0 评论 -
附件:唯一性标识约束改名
一.删除数据表,达到改名我们想添加一个作用于数据库表的约束,在odoo中使用如下代码:_sql_constraints = [('code_unique', 'unique(name)', '猫猫不可重名!!!')]但我们在制作的后期,发现名字不贴切,想更改.就需要在pg数据库里更改了:打开数据库点击此按钮删除该表drop table my_cats将我们需要的名字更改_sql_constraints = [('name_unique', 'unique(name)', '原创 2021-10-15 22:32:21 · 240 阅读 · 0 评论 -
odoo新手创建模块(五)--字段唯一
一.字段唯一猫猫的名字是唯一的,猫舍也一般不会给猫猫起重名,为了防止客户手误,故写一个后台校验.找到My_Cats_HomePage.py文件,并在添加如下代码: #_sql_constraints :是做数据限制的 #通常用于唯一性限制,在odoo重启升级后,会转pg的sql限制 #参数:第一个为约束名(随意起) #第二个是postgresql校验语句 #第三个为报错信息 _sql_constraints = [('name_unique', 'unique(name)', '猫猫不可原创 2021-10-14 22:20:57 · 632 阅读 · 0 评论 -
odoo新手创建模块(四)--添加图片/自动编号
一.添加图片展示找到My_Cats_HomePage.py文件,并在添加如下代码:# -*- coding: utf-8 -*-from odoo import models, fields, apiclass My_Cats_HomePage(models.Model): _name = 'my.cats' _description = 'My Cats HomePage' _inherit = ['image.mixin']#图片需加此行才可正常显示 cat原创 2021-10-12 22:28:13 · 746 阅读 · 0 评论 -
odoo新手创建模块(三)--添加按钮功能
一.添加按钮虽搭有是否被收养,以及最后收养时间,但只能在编辑模式中,勾选或不勾选是否被收养,容易被客户所遗忘此功能,操作上也略微不流畅.至此添加按钮,来优化此功能:在views文件夹下,打开My_Cats_HomePage_view.xml文件,对from视图进行改动:<record id="my_cats_view_form" model="ir.ui.view"> <field name="name">猫猫管理系统</field>原创 2021-10-11 22:26:02 · 1681 阅读 · 1 评论 -
odoo新手创建模块(二)--更进一步
一.模型中的字段我们在models文件夹下,找到My_Cats_HomePage.py文件,并添加更多的字段:# -*- coding: utf-8 -*-from odoo import models, fields, apiclass My_Cats_HomePage(models.Model): _name = 'my.cats' _description = 'My Cats HomePage' name = fields.Char(string="猫猫名称",原创 2021-10-10 22:00:03 · 510 阅读 · 0 评论 -
odoo新手创建模块(一)--简单搭建
odoo新手创建模块(一)一,创建模块PyCharm 自带脚手架功能,我们只需要在终端,写入如下代码,系统便可为我们快速生成一个模块.填入相应的模块名与所在目录,即可:python odoo-bin scaffold 模块名 目录示例如下:回车后,我们将会在 TEST目录下,创建一个 my_cats 模块,及其配套的文件夹,如下:通常来说,odoo模块目录下,基本有如下几个文件夹(砖厂管理员的"ODOO13 开发教程附 模块目录结构"有详细描述):models:具体的模型,里面定义了原创 2021-10-07 22:24:04 · 4265 阅读 · 3 评论