Openerp 如何在odoo中创建关系字段?

Openerp 如何在odoo中创建关系字段?,openerp,odoo,openerp-7,Openerp,Odoo,Openerp 7,关于如何在openerp中创建像one2many、many2many、ManyOne和One2OOne这样的关系字段,没有合适的示例。所以,谁能给我展示一下销售模块的例子。我没有销售模块的具体例子。但是,您可以从下面的语法中了解大致情况。它对任何类型的应用程序都有帮助。 class openerp.fields.Many2one(comodel_name=None, string=None, **kwargs) 基础:openerp.字段。\u 此类字段的值是大小为0(无记录)或1(单个记录)

关于如何在openerp中创建像one2many、many2many、ManyOne和One2OOne这样的关系字段,没有合适的示例。所以,谁能给我展示一下销售模块的例子。

我没有销售模块的具体例子。但是,您可以从下面的语法中了解大致情况。它对任何类型的应用程序都有帮助。

class openerp.fields.Many2one(comodel_name=None, string=None, **kwargs)
基础:openerp.字段。\u

此类字段的值是大小为0(无记录)或1(单个记录)的记录集。 参数

comodel_name -- name of the target model (string)
domain -- an optional domain to set on candidate values on the client side (domain or string)
context -- an optional context to use on the client side when handling that field (dictionary)
ondelete -- what to do when the referred record is deleted; possible values are: 'set null', 'restrict', 'cascade'
auto_join -- whether JOINs are generated upon search through that field (boolean, by default False)
delegate -- set it to True to make fields of the target model accessible from the current model (corresponds to _inherits)
除相关字段或字段扩展外,属性comodel_name是必需的

=======================================================================

class openerp.fields.One2many(comodel_name=None, inverse_name=None, string=None, **kwargs)
class openerp.fields.Many2many(comodel_name=None, relation=None, column1=None, column2=None, string=None, **kwargs)
基础:openerp.字段。\u RelationalMulti

一个是任何领域;这样一个字段的值是comodel_name中所有记录的记录集,因此字段名等于当前记录

Parameters  
comodel_name -- name of the target model (string)
inverse_name -- name of the inverse Many2one field in comodel_name     (string)
domain -- an optional domain to set on candidate values on the client  side (domain or string)
context -- an optional context to use on the client side when handling that field (dictionary)
auto_join -- whether JOINs are generated upon search through that  field (boolean, by default False)
limit -- optional limit to use upon read (integer)
除相关字段或字段扩展名外,属性comodel_name和inverse_name是必需的

==========================================================================

class openerp.fields.One2many(comodel_name=None, inverse_name=None, string=None, **kwargs)
class openerp.fields.Many2many(comodel_name=None, relation=None, column1=None, column2=None, string=None, **kwargs)
基础:openerp.字段。\u RelationalMulti

许多领域;这样一个字段的值就是记录集

参数----------------------------------------------------------------

comodel_name -- name of the target model (string)
除相关字段或字段扩展外,属性comodel_name是必需的

参数

relation -- optional name of the table that stores the relation in the database (string)
column1 -- optional name of the column referring to "these" records in the table relation (string)
column2 -- optional name of the column referring to "those" records in the table relation (string)
The attributes relation, column1 and column2 are optional. If not given, names are automatically generated from model names, provided model_name and comodel_name are different!
domain -- an optional domain to set on candidate values on the client side (domain or string)
context -- an optional context to use on the client side when handling that field (dictionary)
limit -- optional limit to use upon read (integer)
参数

relation -- optional name of the table that stores the relation in the database (string)
column1 -- optional name of the column referring to "these" records in the table relation (string)
column2 -- optional name of the column referring to "those" records in the table relation (string)
The attributes relation, column1 and column2 are optional. If not given, names are automatically generated from model names, provided model_name and comodel_name are different!
domain -- an optional domain to set on candidate values on the client side (domain or string)
context -- an optional context to use on the client side when handling that field (dictionary)
limit -- optional limit to use upon read (integer)
也许对你有帮助

_columns = {
'current_rate': fields.related('company_currency_id','rate_silent', type='float', relation='res.currency',digits_compute=dp.get_precision( 'Account'), string='Current Rate', readonly=True),
}
这里,

company\u currency\u id=>新字段将通过其关联的同一模型中的字段

rate_silent=>是要与新字段关联的字段,表示源模型中的字段

relation=>是源模型名称

type=>是源字段的数据类型

注意:当您更新新定义的相关字段中的值时 也将在源代码字段中更新,尽管这总是可取的 在新定义的字段中设置只读