【发布时间】:2011-05-04 17:53:23
【问题描述】:
我有一个模型对象列表:
只是一个例子(我并没有真正列出所有()):
class Tag(models.Model):
name = models.CharField(max_length=50,primary_key=True)
#Some other fields....
def __str__(self):
return self.name
mylist = list(Tag.objects.all())
将其转换为字符串列表的最佳方法是什么?
我必须迭代列表吗?
我正在做类似的事情:
newList = [ t.str() for t in mylist ]
还有更好的方法吗?
【问题讨论】:
-
我认为如果你真的需要一个字符串列表,你的代码就可以了。问题是,你真的需要转换成字符串吗?请记住,模板使用您的
__str__或__unicode__方法,因此您无需向它们传递字符串。你也可以[x.name for x in mylist],可能会快一点。 -
它不是用于模板...我正在获取包含复杂查询的项目列表。然后我需要将其中一个字段作为字符串并将该列表传递给另一个查询
标签: python django list django-models