Ho diversi tipi di organizzazione con una relazione di molti milioni che descrive i tipi che possono essere padre di altri tipi (ad esempio, il reparto può essere padre del sottoreparto e del gruppo di lavoro). NON è una rigida gerarchia (il gruppo di lavoro può essere padre di altri gruppi di lavoro), da qui la grande relazione.Odoo 8: filtro di dominio Many2many
Ho due campi sull'oggetto organization_type: allowed_parent_type_ids
e l'inverso allowed_children_type_ids
.
Ora voglio limitare il campo del tipo di organizzazione sul mio oggetto organizzazione a seconda del suo genitore, quindi un figlio di un "reparto" può solo selezionare i tipi di organizzazione consentiti per essere figli dei reparti e così via.
A mio avviso forma, ho provato:
<field
name="organization_type_id"
domain="[('id', 'in', parent_id.organization_type_id.allowed_children_ids)]"
/>
Ho anche provato a mettere un settore correlato con tipi consentiti sul mio oggetto l'organizzazione, ma finisce sempre con un messaggio di errore. Il mio ultimo tentativo è stato:
domain=[('id', 'in', allowed_type_ids)]
Questo dà un messaggio di errore:
TypeError: not all arguments converted during string formatting
Il cliente in realtà va a prendere un oggetto JSON come "allowed_type_ids" = [0,1,2]
e se sostituisco allowed_type_ids nell'espressione dominio con [0,1,2]
non ci sono errori e ottengo i tre tipi di organizzazione nella mia selezione ...
Prova a utilizzare domain = "[('id', 'in', allowed_children_ids [0] [2])]" –