OpenERP对象跟数据库数据的联系
-
先感谢下老肖的赐书~
老肖新书4.1章中 关于对象的描述 不理解的地方在其他编程语言或开发平台(如java or javaEE),一个对象(object)通常和数据库中的一条记录(Record)相对应。
这个好理解,一个实体对象对应于一条记录但是,OpenERP的对象其实是一个Class,它和一个数据表(Table)对应,而不是和一个记录(Record)对应。
这里最不理解,OpenERP的对象是一个类?
那么,请假单对象是类,它和数据表对应,而不是和记录对应。这是为什么呢?还是我字面上理解错误?在OpenERP中,数据库记录(Record)通常叫资源。因为object操作的是数据表,OpenERP的对象的方法(Method)中,几乎每个方法都带有参数ids,该参数是资源(Resource or Record)的ID(在OpenERP中ID是主键)列表,通过该ids就可以操作具体的Record了。
上面的原因,这个ids也不是很理解。
每个回复和观看都会被感谢!! -
那么,for this in self.browse(cr,uid,ids,context=context):
-
请教:
res=dict.fromkeys(ids,False)
for this in self.browse(cr,uid,ids,context=context):
res[this.id]=0
this代表对象,this.id代表一个具体的record? -
多谢高手指教!还有一个问题 在sale_order_line中
for this in self.browse(cr,uid,ids,context=context):
context['pricelist']=this.order_id.pricelist_id.id
sale_order_line类中有order_id字段,它manytoone 类sale_order,而sale_order类中有字段pricelist_id
他是取得pricelist一条记录的id吗?这个.太多了,不太理解,请指教 -
[quote author=fanzhang1990 link=topic=5842.msg14833#msg14833 date=1365313153]
多谢高手指教!还有一个问题 在sale_order_line中
for this in self.browse(cr,uid,ids,context=context):
context['pricelist']=this.order_id.pricelist_id.id
sale_order_line类中有order_id字段,它manytoone 类sale_order,而sale_order类中有字段pricelist_id
他是取得pricelist一条记录的id吗?这个.太多了,不太理解,请指教
[/quote]
this 表示 某销售明细(循环遍历的每一行销售明细),
this.order_id 是 sale.order.line 明细所属哪一个销售单
this.order_id.pricelist_id 就代表上面那个销售单所用的 pricelist 价格表
this.order_id.pricelist_id.id 就代表上面那个价格表的id. -
多谢指导啊
-
[quote author=mrshelly link=topic=5842.msg14835#msg14835 date=1365316696]
[quote author=fanzhang1990 link=topic=5842.msg14833#msg14833 date=1365313153]
多谢高手指教!还有一个问题 在sale_order_line中
for this in self.browse(cr,uid,ids,context=context):
context['pricelist']=this.order_id.pricelist_id.id
sale_order_line类中有order_id字段,它manytoone 类sale_order,而sale_order类中有字段pricelist_id
他是取得pricelist一条记录的id吗?这个.太多了,不太理解,请指教
[/quote]
this 表示 某销售明细(循环遍历的每一行销售明细),
this.order_id 是 sale.order.line 明细所属哪一个销售单
this.order_id.pricelist_id 就代表上面那个销售单所用的 pricelist 价格表
this.order_id.pricelist_id.id 就代表上面那个价格表的id.
[/quote]
函数里面的context参数在这里起什么作用的呢?