Odoo中文网|Odoo实施培训

 找回密码
 立即注册
搜索
热搜: Odoo OpenERP 实施
查看: 8179|回复: 2
打印 上一主题 下一主题

如何在不同的视图下得到不同的默认值

  [复制链接]

1

主题

2

帖子

9

积分

新手上路

Rank: 1

积分
9
跳转到指定楼层
楼主
发表于 2016-2-23 15:08:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Juggle 于 2016-2-23 15:10 编辑

如何动态改变'type_ids' 值:
def _get_type_common(self, cr, uid, context):
     ids = self.pool.get('project.task.type').search(cr, uid, [('case_default','=',1)],
     context=context)
return id

_defaults = { 'type_ids': _get_type_common }
我的模块源于另外一个模块,但是有不同视图,我想改变新视图中的'type_ids'默认值但不改变原视图中的'type_ids'默认值,增加:   
ids = self.pool.get('project.task.type').search(cr, uid, [('case_default','=',1),('task_type_is_project','=',False)], context=context)
是否可行?求赐教!


回复

使用道具 举报

15

主题

35

帖子

140

积分

版主

Rank: 7Rank: 7Rank: 7

积分
140
沙发
发表于 2016-2-24 08:58:49 | 只看该作者
重新定义 _get_type_common ,使用if 语句根据context 值选择合适的 ids.
def _get_type_common2(self, cr, uid, context):
    if (context['params']['action']==171):
       ids =self.pool.get('project.task.type').search(cr, uid, [('case_default','=',1),
       ('task_type_is_project','=',False)], context=context)
    elif (context['params']['action']==142):
       ids = self.pool.get('project.task.type').search(cr, uid, [('case_default','=',1),
       ('task_type_is_project','=',True)], context=context)
    return ids
回复 支持 反对

使用道具 举报

1

主题

2

帖子

9

积分

新手上路

Rank: 1

积分
9
板凳
 楼主| 发表于 2016-2-24 09:17:53 | 只看该作者
问题解决了,非常感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|技术支持|开发手册|Odoo中文网-远鼎旗下odoo培训网站 ( 苏ICP备15039516号 )

GMT+8, 2024-4-26 16:14 , Processed in 0.018618 second(s), 14 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表