如何解决“类型错误“(ModelName)”对象不可迭代”的问题?

时间:2019-05-15 01:43:47

标签: django python-3.x django-models

我正在Django Admin上进行操作,以根据其他模型信息创建多个模型实例。

我有两个模型: -项目 -ItemCopy

我尝试使用以下方法通过for循环进行此操作:

def copy_action(self, request, obj):
    items_to_copy = []
    for item in Item.objects.all():
        items_to_copy.append(
             ItemCopy(name=item.name, description=item.description)
        )

在其他操作中,我与另一个模型具有相同的代码,并且可以正常工作,但是当我尝试执行此操作时,抛出“类型错误'ItemCopy'对象不可迭代”

2 个答案:

答案 0 :(得分:0)

您可以在for循环之后使用bulk_create:

YourModel.objects.bulk_create(your_list)

答案 1 :(得分:0)

我决心使用以下语法来完成此任务:

def copy_action(self, request, obj):
items_to_copy = []
for item in Item.objects.all():
    items_to_copy.append(
         {'name':item.name, 'description':item.description}
    )

而且有效...