This question has been flagged
8 Replies
14514 Views

Hi,

I have the field:

'merged_porder_id' : fields.many2one('purchase.order', 'purchase_id'),

And display this field with:

<field name="merged_porder_id"/>

How can I tell the system that I want to input several values ? The UI control is a simple Textbox, do the user have to separate the Purchase_id by some separator ? if yes which one ?

Avatar
Discard

May be you need "fields.one2many" ?

Best Answer

If you want to attach more than one purchase order you have to use a field of type many2many or one2many.

The difference is:

  • If you use many2many then every purchase order can be assigned more than once in the field merged_porder_id. A separate relation table is used in the background.
  • If you use one2many then every purchase order can only be assigned to one field merged_porder_id. In this case you also have to create a many2one field in the purchase order for the relation to the model of field merged_porder_id.
Avatar
Discard
Author

Thank you for your comment, makes more clear the way the design the relation. Therefore I added a one2many: 'sourceOfMerged' : fields.many2one('purchase.order', 'purchase_id'). Trying to display it with <field name="syongOne2Many"> <tree string="Notes" editable="bottom"> <field name="name"/> </tree> </field>, I have an error : ProgrammingError: operator does not exist: character varying = integer LINE 1: ...M "purchase_order" WHERE ("purchase_order"."name" in (16)) O...

Author

Full error message: ProgrammingError: operator does not exist: character varying = integer LINE 1: ...M "purchase_order" WHERE ("purchase_order"."name" in (16)) O... ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.

in model purchase.order you need a many2one field and in your new model needs a one2many field

Author

I created both field: one2many and many2one on PurchaseOrder. Andreas you mean I should create another object for instance: MergedFrom, and this object would contains the one2many field ?

See have the relation between purchase.order and purchase.order.line is handled here: http://bazaar.launchpad.net/~openerp/openobject-addons/trunk/view/head:/purchase/purchase.py

Best Answer

Many2many field better for this.

Avatar
Discard