我有动物模型,笼子模型和用户(工人)和笼子之间的关系模型: 的 cage_manager.py :
class animal(osv.osv):
_name = 'animal'
_columns = {
'name': fields.char('Animal Name', size=100),
'cage_id': fields.many2one('cage', required=True, ondelete='cascade', string="Cage")
}
class cage(osv.osv):
_name = 'cage'
_columns = {
'name': fields.char('Cage Name', size=100),
'animals': fields.one2many('animal', 'cage_id', string="Animals"),
'workers': fields.one2many('cage.user.relation', 'cage_id', string="Workers")
}
class cage_user_relation(osv.osv):
_name = 'cage.user.rel'
_columns = {
'cage_id': fields.many2one('cage', required=True, ondelete='cascade', string="Cage"),
'user_id': fields.many2one('res.users', required=True, ondelete='cascade', string="Worker"),
}
我在 cage_manager.xml :
中有这个<record id="view_cage_manager_tree" model="ir.ui.view">
<field name="name">cage.tree</field>
<field name="model">cage</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="cage_tree">
<field name="name"/>
<field name="animals"/>
<field name="workers"/>
</tree>
</field>
</record>
我想让每个工人只看到与他相关的笼子。 (管理员可以看到每个笼子)
我想要这样的事情:
<record id='action_menu_cage_manager' model='ir.actions.act_window'>
<field name="name">Cages Manager</field>
<field name="res_model">cage</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[
('id', 'in', 'cages_of_current_worker()')
]</field>
</record>
但我不知道如何以及在何处实施 cages_of_current_worker()功能