问:创造:
-Create方法用于创建具有给定记录值的新记录。
-Create方法返回以给定值创建的新记录。
句法:
create(cr, uid, values, context=None)
例如:这里是7.0版的方法替代:-
def create(self, cr, uid, vals, context=context):
if not vals:
vals = {}
if vals:
vals = {'name': 'Shreyash Patel', 'age': 22}
super(res_partner, self).create(cr, uid, vals, context=context)
对于api版本8.0:
@api.model
def create(self):
if not vals:
vals = {}
if vals:
vals = {'name': 'Shreyash Patel', 'age': 22}
super(ResPartner, self).create(cr, uid, vals, context=context)
答:在覆盖创建/写入方法中,您应该小心!
让我们举个例子,例如
def create(self,cr,uid,vals,context):
res = super(class_name,self).create(cr,uid,vals)
#用您的逻辑做任何事#return
res
因此,在覆盖orm方法,您应该首先调用超类create方法并应用逻辑,然后再返回该res变量
答:@ api.model
def create(self,vals):
#在这里做点事
返回super(class_ name,self).create(vals)
示例:如果要覆盖销售对象的创建方法,请在文件中执行类似代码的操作
@ api.model
def create(self,vals):
# 做点什么
记录=超级(SaleOrder,自身)。创建(值)
#做点什么,如果你想做,否则返回
返回记录
答:def create(self,cr,uid,vals,context = None):-> Method返回超级方法
vals ['allday'] = False
eventid = super(模型名称,自我).create(cr,uid,vals,context = context)
Meetingobj = self.browse(cr,uid,eventid,context = context)
您的代码在这里..................
返回eventid
def create(self,cr,uid,vals,context = None):-> Method返回超级方法vals ['all_day'] = False您的代码在这里...... ..... return super(modelname,self).create(cr,uid,vals,context = context)
如果要省略基本的create方法,而需要创建自己的方法mean,请使用以下代码。此方法不返回Super创建方法。
def create(self,cr,uid,vals,context = None):vals ['all_day'] = False您的代码在这里........ res = osv .osv.write(self,cr,uid,ids,values,context = context)返回res