TypeError 'User'对象不可迭代

0 投票
1 回答
2529 浏览
提问于 2025-04-18 08:11

在Python中,类的实例并不是像Java那样可以直接被遍历的。

class User(models.Model):
    first_name =  models.CharField(max_length=50)
    ref_num = models.IntegerField()



ref_list = [2,3]
user_list = [User(first_name='abc',ref_num=1)]

for ref in ref_list:
    user_list.extend(User(first_name='abc',ref_num=ref))

但是我遇到了这样的错误:

类型错误:'User'对象不可遍历

1 个回答

2

如果你想添加一个单一的对象实例,你可以使用.append方法。不过在这种情况下,你也可以创建一个生成器,然后用.extend来扩展列表,比如:

ref_list = [2,3]
user_list = [User(first_name='abc',ref_num=1)]

user_list.extend(User(first_name='abc', ref_num=ref) for ref in ref_list)

不过要记住,除非你使用.save()来保存这些模型对象,否则它们不会保存在你的数据库里。

撰写回答