2015-05-18 24 views

回答

0

让我们举个例子吧。

假设我创建了TestModel

class TestModel(models.Model): 
    _name = 'test.model' 

    name = fields.Char('Name', required=1) 
    email = fields.Char('Field') 
    user_id = fields.Many2one('res.users', 'Related User') 

现在我想在创建测试模型记录时创建一个用户。所以我将修改TestModel的创建方法来创建用户。

@api.model 
def create(self, vals): 
    user_env = self.env['res.users'] 
    user_vals = { 
     'name': self.name, 
     'login': self.email, 
    } 
    user_id = user_env.create(user_vals) # will create user with name and login field 
    self.user_id = user_id 
    super(TestModel,self).create(vals) 

@api.multi 
def unlink(self): 
    for rec in self: 
     if rec.user_id: 
      rec.user_id.unlink() 
    return super(TestModel, self).unlink() 
+0

感谢您的快速回复Atul Arvind。但在我的情况下,当我删除自定义模型上的记录(在你的例子中它是test.model)会自动删除相应的用户。这就是为什么我要通过授权寻找继承权。有没有范围?提前致谢。 – Sujith

+0

@Sujith请检查最新的答案。 –

+0

再次感谢您的帮助。代码正常工作。但那个相关用户仍然存在于res.users表中。有没有可能删除那个..?或者这是我的测试问题? – Sujith

相关问题