Openerp 多个域中的域不限制选择

Openerp 多个域中的域不限制选择,openerp,openerp-7,Openerp,Openerp 7,精简代码: class fnx_fs_folder(osv.Model): _name = 'fnx.fs.folder' _columns = { 'folder_type': fields.selection( [('virtual', 'Virtual'), ('shared', 'Shared')], 'Folder Type', ), { class fnx_fs

精简代码

class fnx_fs_folder(osv.Model):
    _name = 'fnx.fs.folder'
    _columns = {
        'folder_type': fields.selection(
            [('virtual', 'Virtual'), ('shared', 'Shared')],
            'Folder Type',
            ),
         {

class fnx_fs_file(osv.Model):
    _name = 'fnx.fs.file'
    _columns = {
        'folder_id': fields.many2one(
            'fnx.fs.folder',
            'Folder',
            help='Folder to present document in.',
            required=True,
            ondelete='restrict',
            domain="[('folder_type','=','virtual')]",
            ),
问题:即使
文件夹id
字段附加了一个
,表单视图仍然显示所有文件夹,而不仅仅是那些
虚拟的


你知道问题是什么吗?

原因是:

class fnx_fs_folder(osv.Model):
    _name = 'fnx.fs.folder'
    _columns = {
        'folder_type': fields.selection(
            [('virtual', 'Virtual'), ('shared', 'Shared')],
            'Folder Type',
            ),
         {

class fnx_fs_file(osv.Model):
    _name = 'fnx.fs.file'
    _columns = {
        'folder_id': fields.many2one(
            'fnx.fs.folder',
            'Folder',
            help='Folder to present document in.',
            required=True,
            ondelete='restrict',
            domain="[('folder_type','=','virtual')]",
            ),
xml
文件中,我有以下内容:

<field name="folder_id" widget="selection" ... />

解决方案

class fnx_fs_folder(osv.Model):
    _name = 'fnx.fs.folder'
    _columns = {
        'folder_type': fields.selection(
            [('virtual', 'Virtual'), ('shared', 'Shared')],
            'Folder Type',
            ),
         {

class fnx_fs_file(osv.Model):
    _name = 'fnx.fs.file'
    _columns = {
        'folder_id': fields.many2one(
            'fnx.fs.folder',
            'Folder',
            help='Folder to present document in.',
            required=True,
            ondelete='restrict',
            domain="[('folder_type','=','virtual')]",
            ),
删除
小部件
部分,将小部件更改为
manyOne
,或者将
直接放在
xml
文件中


注意:不幸的是,这表明在
.py
文件中添加
是不强制的,不能依赖的。

我认为您可以直接在xml字段中添加域,甚至可以使用小部件选择