要正确显示user_id和cat,应该添加哪些内容?
@api.model
def create(self, vals):
record=super(test, self).create(vals)
if vals['total'] > 0:
vals['date'] = fields.Datetime.now()
self.env['journal'].create({
'user_id': record.patient_id,
'cat': record.cat,})
....
.....
在树视图(日记)上:
user_id显示为test.user(6,) cat显示为cat1
编辑:
class test(models.Model):
_name = 'test'
cat = fields.Selection(
required=True,
related='test_type_cat.name',
store=True,
)
user_id = fields.Many2one('res.users', string='user', readonly=True,)
.....
@api.model
def create(self, vals):
record=super(test, self).create(vals)
if vals['total'] > 0:
vals['date'] = fields.Datetime.now()
self.env['journal'].create({
'patient_id': record.patient_id.name,
'cat': record.cat,
'user_id': record.user_id.name,
})
record.total = 0
return record
为什么它适用于.name而不是.id呢?对于m2o字段,应该传递整数值吗?如果是这样的话,为什么它在这里适用于.name呢?那么m2m和o2m呢?
发布于 2017-07-25 14:38:55
这对您有用,因为您要在模型中创建一个记录:journal,而不是test模型。
如果您进入journal模型,您会发现patient_id是Char字段,而不是many2one字段。
因此,如果您通过:record.patient_id,您将传递一个对象并将其转换为char,这就是获得test(1,)的原因。由于pateint_id是test模型中的一个many2one字段,所以它是object。
希望这件事能让你明白一点。
https://stackoverflow.com/questions/45306409
复制相似问题