【问题标题】:Python: creating a comma separated string from a queryPython:从查询中创建逗号分隔的字符串
【发布时间】:2013-08-30 02:54:42
【问题描述】:

我有一个问题

 messages = Message.objects.all()

我想创建一个由 message.number 中的所有数字组成的逗号分隔字符串

这是我尝试过的:

number = ""
for obj in messages:
     number = number + "," + obj.number

我该怎么做? PS 这个字符串可能非常长,超过 400,000 个数字!

【问题讨论】:

  • 你要把这个写回文件吗?

标签: python django django-models


【解决方案1】:

使用str.join:

number = ','.join(messages)

【讨论】:

    【解决方案2】:

    使用join()

    ",".join(str(msg.number) for msg in Message.objects.all())
    

    此外,由于您的查询集很大,请考虑使用查询集迭代器将结果分成块。欲了解更多信息,请参阅:

    【讨论】:

    • 如果msg.number实际上是一个数字,这将不起作用,最好先将其转换为字符串;你还有额外的( )
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    相关资源
    最近更新 更多