def load_from_json(json_file): data = json.loads(json_file.read().decode('utf-8')) for d in data: name = d[0] date = datetime.strptime(d[1], '%d.%m.%Y') url = d[2] try: election = Election.objects.get(name=name, date=date) if election.url != url: election.url = url election.save() except Election.DoesNotExist: election = Election(name=name, date=date, url=url) election.save() candidates = d[3] for c in candidates: try: person = Person.objects.get(name=c[0], birthdate=datetime.strptime(c[2], '%d.%m.%Y')) except Person.DoesNotExist: person = Person(name=c[0], birthdate=datetime.strptime(c[2], '%d.%m.%Y')) person.save() try: info = Info.objects.get(person=person, election=election) except Info.DoesNotExist: info = Info(person=person, election=election) info.save() info.url = c[1] info.party = c[3] info.address = c[4] info.edu = c[5] info.firm = c[6] info.job = c[7] info.dep = c[8] info.criminal = c[9] info.status = c[10] info.district = c[11] info.save()