文件管理模块中的ftp目录文件夹改名
- 
该模块下的ftp功能很强大,我有个疑问,因为默认的ftp目录(举个例子,产品目录下面的文件夹是命名是用product里面的name来命名的,想修改为命名是用product的code 字段来命名) 
 解决方法:
 浏览ducpoment.py,有一段
 if len(obj.fields_get(self.cr, self.uid, ['dirname'])):
 _dirname_field = 'dirname'
 原来oe的文件管理目录默认是用相应的object里面的dirname字段作为文件夹的名字的,如果该project没有dirname字段会用name名字
 所以,解决方法就是在product。product下增加一个dirname字段,然后让dirname的值和code 的值保持一直,这里用触发器处理
 CREATE OR REPLACE FUNCTION ftpdirname() RETURNS trigger AS $ftpdirname$
 BEGIN
 NEW.dirname := NEW.default_code;
 RETURN NEW;
 END;
 $ftpdirname$ LANGUAGE plpgsql;
 CREATE TRIGGER ftpdirname BEFORE INSERT OR UPDATE ON product_product
 FOR EACH ROW EXECUTE PROCEDURE ftpdirname();
 特别鸣谢shelly,jeff等兄的指导 (其实增加一个function字段的dirname来处理更方便,无奈暂时没通晓,所以在数据库段用触发器完成)
- 
可以试试酱紫写 def _new_dirname(self, cr, uid, ids, field_name, arg, context):<br />        res = {}<br />        for product in self.browse(cr, uid, ids, context=context):<br />            res[product.id] = product.name +' '+ product.default_code<br />        return res<br />    _columns = {<br />        'dirname':fields.function(_new_dirname, method=True, string='dirname',type='char',store=True)<br />    }<br />
 想要更多还有
 [检测到链接无效,已移除]
