2017-11-01 8 views
0

私は別のリストに追加するリストの値でPythonオブジェクトを連結しようとしています。しかし、私はこのように組み合わせることは考えていません。オブジェクトをリストの値で連結する、Python Odoo

my_rec.append("old_date") # these three are defined date fields 
my_rec.append("test_date") 
my_rec.append("new_date") 



for rec in record.record_ids:     
      var = "rec."+my_rec[new_date.month-1] 
      res.append(var) # it works well with res.append(rec.new_date) 

しかし、私はこのよう

のようにこれを行うには、2つの多くの値を持って、これを達成するためにどのような方法か、この上の任意の提案はありますか?あなたはこの1行のコードを使用していることを達成することができます おかげ

+0

あなたは正確に何をしたいですか!!?あなたのコードは不可能ですこのリストと結果が何であるかを見に行きます – Cherif

+0

@ Tchi-Odoo、私は特定のインデックスにリストする値を挿入したい –

+0

あなたが望むものを説明することができます – Cherif

答えて

1

res = [getattr(rec, r) for r in my_rec] 

例:

class Rec: 
    def __init__(self): 
     self.test_field = 'value1' 
     self.new_date = 'value2' 

rec = Rec() 
my_rec = ['test_field', 'new_date'] 

res = [getattr(rec, r) for r in my_rec] 

出力:

>>> res 
['value1', 'value2'] 
+0

は実際の値をリスト? –

+0

どのリストですか? 'res'?はい、上記の例の 'res'の内容を見てください。 – ettanany

+0

'rec.test_field'には 'john'や 'bill'のような値があります。 –

0

あなたはを試すことができますVAR = + strのソリューション下記(my_rec [0])

1

てみ "RECが。":

my_rec.append("test_field") # i have field as 'test_field' 

var = getattr(rec, my_rec[0]) # so that it will create 'rec.test_field' 

res.append(var) 
+0

私はこれを試して、それは働いた。特定のインデックスに価値を付けることはできますか?しかし私のリストは空です。私はインデックス3に値を配置したいのですが、インデックス1,2は空です。特定の列で報告書を取得したいので、特定のインデックスに設定する必要があります –

+0

@ArsalanSherwani私はあなたの質問を理解できません。いくつかの例を挙げていただけますか? – Heroic

関連する問題