0
以下代码是否正确?在执行try/except块之后,e
应该在每次迭代开始时引用一个新对象。我怀疑有一些干扰旧对象,因为现在有一个我现在无法再现的错误。Django循环中的模型参考分配
from webapp.models import Profile
....
for e in Profile.objects.all():
if not e.profile_link in profile_data:
e.delete()
try:
for key, employee in profile_data.iteritems():
#e still holds old reference
try:
#edit DB object if exists
e = Profile.objects.all().filter(profile_link=key)[0]
except Exception:
#or create a new one
e = Profile(profile_link=key)
#modify e using employee
e.save()
except Exception:
#handle exception
你的意思是将try/except块缩进到for循环之外? – souldeux
不好有未定义的异常。让它失败,了解异常发生的情况,并处理这些问题 –
可能没有错误。你应该做一个函数调用'e.save()'而不是'e.save' – machaku