Python中的字符串格式

Python中的字符串格式,python,string-formatting,Python,String Formatting,在我正在编写的django应用程序中,我创建了MyEntry和MyCategory,并为它们提供了unicode()实现。为了表示条目,我使用了一个由条目的类别名称、开始时间和条目的创建日期构建的字符串 然而,当我尝试列出条目时,我得到了 ['category1']13:02:542011-07-16 ['category2','category3']18:21:342011-07-11 ['category3']18:09:192011-07-11 这个[]来自我猜的列表。我希望我能得

在我正在编写的django应用程序中,我创建了MyEntry和MyCategory,并为它们提供了unicode()实现。为了表示条目,我使用了一个由条目的类别名称、开始时间和条目的创建日期构建的字符串

然而,当我尝试列出条目时,我得到了

['category1']13:02:542011-07-16

['category2','category3']18:21:342011-07-11

['category3']18:09:192011-07-11 
这个[]来自我猜的列表。我希望我能得到这样的名字

 category2,category3-18:21:34-2011-07-11
 category3-18:09:19-2011-07-11
我应该如何为我的模型实现unicode以获得这种效果?有人能帮忙吗

我的模特是

from datetime import date
class MyCategory(models.Model):
    name=models.CharField(unique=True,max_length=50)
    ...
    def __unicode__(self):
        return self.name

class MyEntry(models.Model):
    today=models.DateField(default=date.today)   
    starttime=models.TimeField(null=True)     
    categories=models.ManyToManyField(MyCategory)
    ...
    def __unicode__(self):        
        return "%s%s%s"%([str(x.name) for x in self.categories.all()],self.starttime,self.today)
您想将
%s%s“%([str(x.name)代表self.categories.all(),…)
替换为
%s-%s“%(',”。加入(str(x.name)代表self.categories.all(),…)