def handle(self, *args, **options): contact_data = list(csv.DictReader(open(args[0],'rb'))) # Check first row for List entries and add new lists to db. # List entries are prefixed with "List: ", e.g. "List: master" list_lkup = get_list_lkup(contact_data[0]) # Load Contact records updated = 0 for row in contact_data: # Create/Update contact payload, list_memberships = process_row(row, list_lkup) try: contact = Contact.objects.get(email_address=payload['email_address']) contact.__dict__.update(payload) except Contact.DoesNotExist: contact = Contact(**payload) contact.status = 'active' contact.save() updated += 1 # Update Contact's List entries lists_added_to = 0 for contact_list in list_memberships: # If Contact/List combo already exists, it will violate # a uniqueness constraint and raise an IntegrityError try: membership = ListMembership(contact=contact, contact_list=contact_list) membership.save() lists_added_to += 1 except IntegrityError: pass print "Created/Updated: %s with %s lists" % (contact, lists_added_to) print "Created/Updated %s Contacts" % updated
60 BARRY SEARS """ e21 = Event.objects.get(pk=21) e22 = Event.objects.get(pk=22) e23 = Event.objects.get(pk=23) e40 = Event.objects.get(pk=40) e41 = Event.objects.get(pk=41) e43 = Event.objects.get(pk=43) e44 = Event.objects.get(pk=44) e60 = Event.objects.get(pk=60) ciacci = Contact() ciacci.type = "C" ciacci.status = "I" ciacci.name = "MANILA" ciacci.surname = "CIACCI" ciacci.email = "" ciacci.code = "CCCMNL00XX00E999" ciacci.save() print "created " + str(ciacci) e21.consultant = ciacci e44.consultant = ciacci e21.save() e44.save() print "associated " + str(ciacci) + " to " + str(e21) print "associated " + str(ciacci) + " to " + str(e44) traino = Contact() traino.type = "C" traino.status = "I"