2017-07-25 55 views
0

我應該怎麼添加到顯示USER_ID和貓正確我應該添加什麼來正確顯示字段的值?

@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,}) 
 
       .... 
 
       .....

樹視圖(日誌):爲test.user(6,) 貓顯示爲cat1

顯示

USER_ID

EDITS:

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? for m2o field should I pass the integer value?如果是這種情況,爲什麼它在.name這裏工作?那麼m2m和o2m呢?

回答

0

這對你有效,因爲你正在創建一個模型的記錄:journal不在test模型。

如果你去journal模型,你會發現patient_idChar字段不是many2one字段。

所以如果你通過:record.patient_id你傳遞一個對象,它被轉換爲字符,這就是爲什麼你得到test(1,)。因爲pateint_idtest中的many2one字段,型號女巫的意思是object

希望這個清晰的東西爲你一點點。

+0

是貓的類型是選擇 – Borealis

+0

'user_id':record.patient_id.id,'而不是'test.user(6,)'它顯示'1'但是'user_id':record.patient_id.name ,'顯示正確的名稱 – Borealis

+0

您是否聲明瞭user_id m2o字段或char? – Cherif

相關問題