Django—实际读取查询中的数据时
我是Django noob,如果这是一个愚蠢的简单问题,我道歉 代码如下:Django—实际读取查询中的数据时,django,Django,我是Django noob,如果这是一个愚蠢的简单问题,我道歉 代码如下: try: m = Message.objects.get(session=request.session.session_key) except: return {'message_status':'','message_text':''} current_status = m.status current_text = m.text m.delete() 我希望当前的_状态和当前的_文本能够被保留
try:
m = Message.objects.get(session=request.session.session_key)
except:
return {'message_status':'','message_text':''}
current_status = m.status
current_text = m.text
m.delete()
我希望当前的_状态和当前的_文本能够被保留,但事实并非如此。怎么了
谢谢 要解决您的问题,只需在删除对象之前执行切片以复制字符串
current_status = m.status[:]
current_text = m.text[:]
m.delete()
编辑:编辑:为什么不使用django.contrib.messages “保留”是什么意思?意思是,我正在将当前的_状态和当前的_文本传递给模板。如果我注释掉m.delete行,则会填充当前_状态和当前_文本,但按原样,它们是空的。如果您喜欢答案,请将其标记为已接受。Python中的变量根本不是这样工作的。即使删除对象,局部变量仍会引用字符串。@Daniel我同意,如果只删除模型对象,字符串仍然可以访问,但是调用.delete方法会进行额外的清理,并删除底层数据。wierd,当我第一次尝试时,我观察到了这种行为。固定答案,建议仍然站在修复它。