Python 如何简化for循环以获取Django中的每个值(请参见说明)?
我有一个从views.py调用的类Python 如何简化for循环以获取Django中的每个值(请参见说明)?,python,django,django-views,Python,Django,Django Views,我有一个从views.py调用的类 class getData(set): def __init__(self,itemList): super(getData,self).__init__((Data(item) for item in itemList)) 它调用另一个类“Data”,在该类中对每个项进行数据库查询。 我想添加异常处理,这样我就可以创建一个数据库不包含任何记录的项目列表 我试过: try: for item in itemList:
class getData(set):
def __init__(self,itemList):
super(getData,self).__init__((Data(item) for item in itemList))
它调用另一个类“Data”,在该类中对每个项进行数据库查询。
我想添加异常处理,这样我就可以创建一个数据库不包含任何记录的项目列表
我试过:
try:
for item in itemList:
super(getData,self).__init__(Data(item))
except:
print item
raise valueError, item not available.
谁能帮我做到这一点
编辑:
一个项目是一个样本的名称,对该样本进行了大量计算,并为每个样本生成了一个树,为每个项目生成了一个单独的查询。而不是从
集合继承,我这样实现它:
class GetData(object):
def __init__(self, items):
self.absent = set()
for item in items:
try:
# Make a query and raise an exception if there's no such object
Data(item)
except DoesNotExist:
self.absent.update(item)
# do something with the self.absent list
您不能只运行一个查询来确定哪些项不在数据库中吗?请告诉我们更多关于您的设置。什么是项
对象,数据
构造函数做什么,等等。添加到问题中。如果我需要添加更多内容,请告诉我。@AlexMorozov你能帮我简化循环并使“项”可访问吗谢谢Alex的帮助。我会尝试实现这个。好的,它包含导致异常的项的列表,即不在数据库中的项。它是一个集合
,所以您可以迭代它,将其转换为列表,等等。