2012-02-24 279 views
1

我觉得有一个明显的答案,这显示unicode的...在Django模板

我已经得到了我想要的Django模板使用unicode值的列表。

该机型...

# models.py 
class MyModel(models.Model): 
    # ... 
    def my_char_fields(self): 
     return AnotherModel.objects.filter(mymodel=self.pk).values_list('cf').distinct() 

class AnotherModel(models.Model): 
    # ... 
    cf = models.CharField(max_length=6) 
    mymodel = ForeignKey(MyModel) 

在我的模板...

#MyTemplate.html 
<ul> 
{% for cf in mymodel.my_char_fields %} 
<li>cf</li> 
{% endfor %} 
</ul> 

的结果是这样的东西:

  • (u'BL”,)
  • (u'M24',)

,但它应该是:

  • BL
  • M24

回答

3

你忘了传递flat=True.values_list()

+0

那么肯定会修复它:)我不明白为什么... – ajwood 2012-02-24 02:42:42

+0

“它返回元组时迭代” – 2012-02-24 02:44:07

+0

啊所以“正确的”BL,M24实际上是unicode字符串?当它们以元组打印时,它们显示的方式会有所不同? – ajwood 2012-02-24 02:49:44