我应该添加什么才能正确显示字段的值?
what should I add to display the value of fields correctly?
我应该添加什么才能正确显示 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 呢?
这对你有用,因为你在模型中创建记录:journal
不在 test
模型中。
如果您转到 journal
模型,您会发现 patient_id
是 Char
字段而不是 many2one
字段。
所以如果你通过:record.patient_id
你正在传递一个对象并且它被转换为 char 这就是你得到 test(1,)
的原因。因为 pateint_id
是 test
模型中的一个 many2one 字段 意思是 object
.
希望这篇文章对你有所帮助。
我应该添加什么才能正确显示 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 呢?
这对你有用,因为你在模型中创建记录:journal
不在 test
模型中。
如果您转到 journal
模型,您会发现 patient_id
是 Char
字段而不是 many2one
字段。
所以如果你通过:record.patient_id
你正在传递一个对象并且它被转换为 char 这就是你得到 test(1,)
的原因。因为 pateint_id
是 test
模型中的一个 many2one 字段 意思是 object
.
希望这篇文章对你有所帮助。