域名如何在openerp以及xml中运行?

时间:2014-04-18 05:05:49

标签: openerp

我正在开发域名,我不知道它是如何工作的,下面我已经给出了我的代码请告诉我如何使用它以及它如何适合我的代码。

class test_cl(osv.osv):

    _name = 'test.cl'
    _columns ={
            'name':fields.char('Name',size=20),
            'age':fields.integer('Age',size=10),
            'gender':fields.selection([('m','M'),('f','F')],'gender'),
            'tel_no':fields.char('Telephone',size=100,),
            'emailid':fields.char('Email id',size=20),
            'website':fields.char('Web address',size=20),
            'company':fields.char(
                    'Company name',
                    size=100,
                    domain=[('choice','=',YES)],
                    change_default=True,
                    ),
            'desg':fields.char('Designation',size=100),
            'wght':fields.float('Weight'),
            'choice':fields.selection(
                    [('yes','YES'),('no','NO')],
                    'Working',
                    required=True,
                    ),
            }

    _defaults = {
            'age':30,
            }
test_cl()

2 个答案:

答案 0 :(得分:2)

域限制您的记录显示。这是您记录的条件。例如。

_columns = {
    'partner_id': fields.many2one('res.partner', 'Partner', domain=[('name', '=', 'greywind')])
}

因此,当您单击Web客户端上的partner_id字段时。它将运行搜索方法&执行像

这样的查询
select id from res_partner where name='greywind';

并且您只能看到名为 greywind 的合作伙伴。

域是元组,结构是(field, operator, value)。 字段是数据库中的数据,运算符是比较,=相等,!=不相等,>大于,<小于等。值是数据如果要与字段进行比较,它可以是另一个数据库字段,常量或计算值。

答案 1 :(得分:-1)

域限制了many2one,many2many和one2many字段的可能选择,只能使用满足的对象。例如在stock.production.lot

'product_id': fields.many2one('product.product', 'Product', required=True, domain=[('type', '<>', 'service')]),

允许仅使用非服务的产品。在您的代码中没有与其他对象相关的字段,因此没有域的应用程序。