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
Пример #2
0
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"