如果两个请求的models.field相同,则组合2响应

时间:2017-02-06 16:55:56

标签: django python-2.7 if-statement for-loop django-models

我的请求数据模型包含idtypelanguage。我正在做以下过程。

def email_me(requests):`
    string = ""
    for request in requests.all():
        string = """
        ID: %d
        Type: %s
        """ % (request.id, request.type)
    <some code for sending an email>

我正在将此函数运行到我获得requests

的视图中

此处string将为每个单独的Request数据库列提供数据。我想要做的是,如果两个字符串的type相同,我想在一封电子邮件中将它们合并。例如type = customer我想在一封电子邮件中发送数据。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用python词典:

to_send = dict()
for request in requests.filter(type=type):
    string = """
    ID: %d
    Type: %s
    """ % (request.id, request.type)
    if request.type not in to_send:
        to_sent[type] = ''
    to_send[type] += string

for type, string in to_send.iteritems():
    # send you mail
    pass

请注意,如果该表中的数据太多,可能会有更优化的解决方案,我给你一个简单/快速的