Python 在Django中的线程内逐个记录提交保存操作

Python 在Django中的线程内逐个记录提交保存操作,python,django,transactions,python-multithreading,Python,Django,Transactions,Python Multithreading,我的目标是让Django在线程中逐个记录地将记录保存到DB记录。我的代码如下所示: class MyThread(threading.Thread): def __init__(self, data, *args, **kwargs): self.data = data super(MyThread, self).__init__(*args, **kwargs) def run(self): for record in data:

我的目标是让Django在线程中逐个记录地将记录保存到DB记录。我的代码如下所示:

class MyThread(threading.Thread):
    def __init__(self, data, *args, **kwargs):
       self.data = data 
       super(MyThread, self).__init__(*args, **kwargs)

    def run(self):
        for record in data:
           s = MySerializer(data=record)
           if s.is_valid():
               s.save() # I want this record to appear in db at once
if s.is_valid():
   with transaction.atomic:
        s.save()
我在
settings.py中将
ATOMIC\u请求设置为True。我试图做的是在如下事务中包含
s.save()
命令:

class MyThread(threading.Thread):
    def __init__(self, data, *args, **kwargs):
       self.data = data 
       super(MyThread, self).__init__(*args, **kwargs)

    def run(self):
        for record in data:
           s = MySerializer(data=record)
           if s.is_valid():
               s.save() # I want this record to appear in db at once
if s.is_valid():
   with transaction.atomic:
        s.save()

但这没有帮助。我想知道这是否可能,这不是一种反模式吗

如果是事务性的,则在事务中执行保存,因此只有当整个事务成功时,才提交事务,并将更改合并到真实的数据库中。我希望一条记录一条记录地提交,但我无法找出正确的语法和方法。也就是说,我想验证数据并保存它,然后立即在真实的数据库中查看它,然后继续验证并保存下一条记录,等等。。。