TypeError 'User'对象不可迭代
在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()
来保存这些模型对象,否则它们不会保存在你的数据库里。