def uploadDonations(self,donation_list):
print("database congress size:",len(Representative.objects.all()))
for donation in donation_list:
donation_dict = {}
rep = Representative.objects.get(propublicaid=donation["propublica_candidate_id"])
sup = SuperPAC.objects.get(fecid=donation["committee_id"])
donation_dict["representative_id"] = rep.id
donation_dict["superpac_id"] = sup.id
donation_dict["amount"] = donation["amount"]
donation_dict["uid"] = donation["unique_id"]
donation_dict["support"] = donation["support_or_oppose"]
##Simple try catch block to avoid duplicate donation problems
with transaction.atomic():
##Django 1.5/1.6 transaction bug requires above check
try:
Donation.objects.create(**donation_dict)
except django.db.utils.IntegrityError:
pass
评论列表
文章目录