我尝试在Django项目中启动的线程中访问queryset结果时遇到了一些非常奇怪的情况。你知道吗
出现的问题是,在线程的init中,所有操作都正常工作,但是当我完成run()方法中应该相同的操作时,它们返回空。代码和结果如下。你知道吗
任何关于如何解决这种奇怪行为的想法都将不胜感激。你知道吗
代码:
class FinalDataCreator(threading.Thread):
def __init__(self, final_form_entry, **kwargs):
print "WORKS", final_form_entry.user_form_entries.all()
self.final_form_entry = final_form_entry
print "WORKS", self.final_form_entry.user_form_entries.all()
self.weirdest_thing = self.final_form_entry.user_form_entries.all()
self.jondykeman = "JonDykeman"
super(FinalDataCreator, self).__init__(**kwargs)
def run(self):
print "EMPTY", self.final_form_entry.user_form_entries.all()
print "EMPTY", self.weirdest_thing
print "WORKS", self.jondykeman
print "WORKS", self.final_form_entry
new_test = FinalDataCreator(final_form_entry)
new_test.start()
结果:
WORKS [<ReviewCustomFormEntry: ReviewCustomFormEntry object>]
WORKS [<ReviewCustomFormEntry: ReviewCustomFormEntry object>]
EMPTY []
EMPTY []
WORKS "JonDykeman"
WORKS ReviewCustomFormEntry
再次感谢,JD
如果您阅读Python27\lib中thread类的文档\螺纹.py上面说。。。你知道吗
所以把你的代码改成
然后运行你的代码
相关问题 更多 >
编程相关推荐