Django - 更新生成的查询集中的特定值

时间:2013-04-15 07:49:41

标签: django django-models django-queryset

这些方面有什么问题:

for i in message_list:
    message_stream = Messages.objects.filter(OrderID = i.OrderID).order_by('-MessageLocalID')
    if message_stream[0].MessageTypeName != 'MessageAck':
        message_stream[0].status = message_stream[0].MessageTypeName
        message_stream[0].save()

status字段未保存在数据库中。我在这里误解了什么?

1 个答案:

答案 0 :(得分:0)

问题出在数据库本身,状态字段,应该用新值更新,无法接收超过2个字符的值。我使用Django DB迁移并扩展了状态字段,解决了这个问题。

这个命令就像一个没有问题的魅力:

NpMessages.objects.filter(NPOrderID = i.NPOrderID, MessageTypeName = 'Request').update(status = message_stream[1].MessageTypeName)

并删除保存声明,因为它无论如何都无法运行!!!