2012-09-12 17 views
0

我在python中處理unicode的方式有些問題。在Django中,我的模型和代碼的一部分如下所示。表單字段周圍的括號(如元組)

class MyTest(models.Model): 
    address = models.CharField(max_length=100) 

    def __unicode__(self): 
     return u'%s,%s' % (self.address, self.city) 

我通過csv加載這些值。

records = csv.DictReader(self.cleaned_data["file"]) 
     for line in records: 
      mt = MyTest() 
      mt.address=line['ADDRESS'], 
      mt.city=line['CITY'], 
      .... 
      mt.save() 
      print line['ADDRESS'] 
      print mt.address 


70 Mall Rd 
('70 Mall Rd',) 

問題是,在管理模板中,我所有的值都有括號。像

('LARGO',), ('FL',), 

什麼可能是錯的。

謝謝。

+0

線[ '地址']後'刪除逗號,'和'線[」 CITY'],看看是否有幫助。 – Blender

+0

當讀取文件時,指定一個編解碼器並解碼文件,以產生unicode對象而不是字節串。如果'self.city'和'self.address'是unicode對象,'%s,%s'%(self.address,self.city)'將是unicode(沒有'u')。 –

回答

2

它的元組的一個元素,因爲你在排隊mt.address=line['ADDRESS'],添加逗號和mt.city=line['CITY'],

例如:

>>> True, 
(True,) 
>>> True 
True 
相關問題