django中,使用filter获得的是query set对象,可以使用for训话迭代;使用get返回的是model对象,类型是列表。
因为使用filter是,如果没有找到相应的值,会返回一个空[ ] ,而使用get没有找到响应值则会报错。
但是filter返回的对象却无法进行save()。
我出现问题的代码如下:
update_obj = Message.objects.filter(id=update_id)
update_obj.content = update_message
update_obj.save()
这样的话是无法save的,会报错
为了解决,我将代码改成下面这样:
update_obj = Message.objects.filter(id=update_id).first()
update_obj.content = update_message
update_obj.save()
可以实现save的。
然后我又尝试另一种:
update_obj = Message.objects.filter(id=update_id)[0]
update_obj.content = update_message
update_obj.save()
也是ok的~