dynamically add new fields to a osv model depending on the number of records of another osv model in openerp?
How to dynamically add new fields to a osv model depending on the number of records of another osv model in openerp? For example I have a model which is for planning purchases. I need to show total order qty that came in each shop.so i need to add new field each time a new record in sale.shop is created.
__init__ function of your class to dynamically add the sales shop to
class planning(osv.osv): def __init__(self, pool, cr): shop_ids = pool.get('sale.shop').search(cr,SUPERUSER_ID,) for shop in pool.get('sale.shop').browse(cr, SUPERUSER_ID,shop_ids): self._columns['shop_qty_%s'%shop.id] = fields.float( '%s Order Qty'%shop.name) return super(planning,self).__init__(pool, cr)
Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!
About This Community
|Asked: 10/29/13, 10:59 AM|
|Seen: 1746 times|
|Last updated: 3/16/15, 8:10 AM|