当前位置: 首页 > news >正文

深圳鸿运通网站建设齐鲁建设网站

深圳鸿运通网站建设,齐鲁建设网站,北京到广州列车时刻表,那些网站做推广最近在odoo project模块的基础上做二开,给task表加了一个版本字段version_id,然后重写了 project表的Task_ids, 并且增加了一个domain,结果折腾了大半天才搞定 写法1 这也是最初的写法: version_id fields.Many2one("hx.p…

最近在odoo project模块的基础上做二开,给task表加了一个版本字段version_id,然后重写了
project表的Task_ids, 并且增加了一个domain,结果折腾了大半天才搞定

写法1

这也是最初的写法:

    version_id = fields.Many2one("hx.prj.task.plan.version", "计划版本")task_ids = fields.One2many('project.task', 'project_id', string='Tasks',domain="[('version_id', '=', version_id)]")

结果发现domain不起作用,仔细阅读源代码

    def get_domain_list(self, model):""" Return a list domain from the domain parameter. """domain = self.domainif callable(domain):domain = domain(model)return domain if isinstance(domain, list) else []

如果domain是字符串就返回空列表,有点懵啊,代码中有很多domain都是用引号括起来的!!!
既然如此,那就把引号去掉吧

写法2

不带引号

 	task_ids = fields.One2many('project.task', 'project_id', string='Tasks',domain=[('version_id', '=', version_id)])

这样写,报错了,

psycopg2.ProgrammingError: can't adapt type 'Many2one'

其实,其他的One2Many字段我也不带引号,是ok的。

写法3

实在没有办法了,于是搜索odoo其他的one2many字段,看看domain是怎么写的
发现两个事:
1、one2many的domain确实是不带引号的
2、还有一种写法,用lambda写一个匿名函数

website_message_ids = fields.One2many(domain=lambda self: [('model', '=', self._name), ('message_type', 'in', ['email', 'comment'])])

我尝试了一下这种写法,

 task_ids = fields.One2many('project.task', 'project_id', string='Tasks',domain=lambda self:[('version_id', '!=', False),('version_id', '=', self.version_id.id)])

这种写法可以引用self, 很意外,测试通过了。
仔细看上面的get_domain_list 函数,domain 可以是一个函数

if callable(domain):domain = domain(model)

关于domain, 要学习的地方还有很多,特别是关系字段的domain,更复杂一些。

http://www.yayakq.cn/news/60025/

相关文章:

  • ppt模板免费下载素材医学类南通网站建设优化公司
  • 无锡自适应网站开发网站建设 做一个网站需要多少钱
  • 在上面网站上可以做统计图WordPress中文版如何下载
  • 响应式公司网站李沧做网站公司
  • 江苏金地建设工程有限公司网站快手小程序入口
  • 吴江城乡建设局网站wordpress文章id排序
  • 做一套公司网站费用用于网站建设的费用怎么备注
  • 网页设计作品到哪个网站德州哪里有做网站推广的
  • 响应式网站好处网站建设招标方案
  • 义乌建网站苏州知名网站制作
  • 电商公司网站建设流程导视设计图片
  • 上海昆山网站公司手机手机端网站建设
  • 百度新闻源网站有哪些北京广告设计公司排行
  • 做养生网站需要证件吗购物网站建设合同
  • 个人做网站需要资质吗温州网站制作费用
  • 网站建设 李奥贝纳焊枪公司网站怎么做
  • 做生蚝的网站中国城乡建设厅网站首页
  • 框架网站怎么做公司网站后台如何上传视频
  • 在线捏脸网站需要多少钱盐城网站开发代理
  • 河源正规网站建设价格专业做物业网站的公司
  • 如何禁止通过ip访问网站沈阳最新公告
  • 网站内外链接怎么做wordpress能放几个域名
  • 漂亮企业网站湖南门户网站建设
  • 企业网站建设与推广四川建设网有限责任公司招聘
  • 网站建设的讲话稿哪个网站专做二手相机
  • 广州商城型网站建设wordpress主题模板修改教程
  • 西安建站价格高站网站建设
  • 受欢迎的网站建设平台镇江网站建设
  • 有没有学做家具的网站建设工程资料下载网站
  • 南昌seo网站推广费用网站备案信息