Skip to main content
 首页 » 编程设计

python之Django:复制和更新查询集

2025年05月04日20zlslch

我有以下模型:

class A(models.Model): 
    pass 
 
class B(models.Model): 
   a = models.ForeignKey(A, related_name="bs") 

然后我有一个函数,我可以创建对象的新记录 A我想复制所有B的相关记录

我做过类似的事情

def foo(new_a, old_a): 
    old_a.bs.all().update(pk=None, a=new_a) 

但我收到以下错误 ERROR - failed to write data to stream: <open file '<stdout>', mode 'w' at 0x7f207949a150>

请您参考如下方法:

希望对您有所帮助:

queryset = B.objects.filter(something="a") 
 
for element in query_set: 
    a_object = A.objects.bulk_create(**element)