【问题标题】:how to print data in given format如何以给定格式打印数据
【发布时间】:2013-08-15 00:56:51
【问题描述】:

models.py

class ReportPerson(models.Model):
    report = models.ForeignKey(Report)
    name = models.CharField('Name', max_length=100)

views.py

def method(request):
    involver_namelist = [] 
    involved = ReportPerson.objects.filter(report=report)
    for involve in involved:
        involver_name =involve.name  
        involver_namelist.append(involver_name)
        print involver_namelist
    return render

如果我打印来自involver_namelist 的数据,它会像[u'Admin', u'Admin', u'Admin', u'Admin', u'Admin'] 这样打印,但我想要像Admin, Admin, Admin, Admin, Admin 这样的输出。在django 中是否可能。

【问题讨论】:

  • 您想在哪里打印?无论如何,它如何在控制台中打印有什么关系?
  • @karthikr 我需要在 .csv 文件中打印名称。它正在 [u'Admin', u'Admin', u'Admin', u'Admin', u'Admin' 中打印] 格式
  • 啊..我明白了。您可能需要更新您的问题以使其更清晰。你可能会更准确的反应。 .
  • 那么您需要将当前正在打印的数据写入 CSV 文件正确吗?
  • @RyPeck 是的,我试过你的解决方案,它用逗号打印,但名称重复不止一次。

标签: python django django-models django-forms django-templates


【解决方案1】:

当您运行print involver_namelist 时,它正在打印list

要获得您想要的输出,请像这样替换该行 -

print ", ".join(involver_namelist)

这将为您提供所需的 Admin, Admin, Admin, Admin, Admin 输出。

Using the join function for strings.

【讨论】:

    【解决方案2】:

    我认为你应该在你的模型类下定义一个 repr 方法 在你的情况下,它会是这样的:

    class ReportPerson(models.Model):
        ....
        def __repr__(self):
            return self.name
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      相关资源
      最近更新 更多