您好我正在开发一个openerp模块。我想动态创建一个字段。我想从用户获取一个字段的名称,然后创建一个字段。怎么做到这一点?我可以使用fields.function来返回名称,char类型吗? Plz帮助
答案 0 :(得分:2)
您的意思是您想在表单/树视图或模型中使用动态字段吗?
如果它在视图中,则覆盖fields_view_get
,调用super,然后处理返回的XML,以获取要在字段中添加的表单类型或操作XML。 ElementTree
是你的朋友。
如果您正在讨论拥有动态数据库字段,我认为您不能和OpenERP在首次访问该数据库时为每个数据库创建一个注册表,并且此过程在此时执行数据库重构。注册表包含使用self.pool.get ...
获得的单例模型实例要实现这一目标,您需要创建某种类型的通用字段,例如field1
,然后在fields_view_get
中更改字符串属性以为其提供动态标签。
实际上,我发现了一个计划C.您可以创建表的属性类型,使用功能字段读取当前用户的值,并覆盖fields_view_get
以执行表单。
答案 1 :(得分:0)
您可以通过类self.pool.get('ir.model.fields')的帮助动态创建字段 使用创建功能。