Philisophy behind some of the concepts of django-campaign — django-campaign 0.3.0-pre documentation

### Navigation

- index
- previous |
- django-campaign 0.3.0-pre documentation »

# Philisophy behind some of the concepts of django-campaign

## Why is there no Subscriber-Model?

I’ve tried to use a bunch of different Subscriber-Models bundled with the app itself but none of them was usable for more than one use-case so I decided to drop the concept of a Subscriber-Model and instead added a mechanism for you to hook your own Subscriber (or User or whatever) model into the flow.

By adding a SubscriberList Object with a pointer to the ContentType of your Model and by optionally adding lookup kwargs to narrow the selection you can specifiy which objects of your model class for a list of subscribers. You can even build SubscriberLists for different Models and send a Campaign in one step to multiple SubscriberLists.

Adding a SubscriberList for all active Users present in the django.contrib.auth module one would simply add a SubscriberList object:

    from django.contrib.auth.models import User
    from django.contrib.contenttypes.models import ContentType
    from campaing.models import SubscriberList

    obj = SubscriberList.objects.create(
                content_type=ContentType.objects.get_for_model(User),
                filter_condition={'is_active': True}
            )

Of course this can also be done using Django’s built-in admin interface.

Being alble to add any number and combinations of ContentTypes and lookup kwargs and assining one or multiple SubscriberLists to a Campaign one should be able to map any real-world scenario to the workflow. If a subscriber is present in multiple SubscriberLists this is not a problem because the code makes sure that every Campaign is only sent once to every given email address.

### Navigation

- index
- previous |
- django-campaign 0.3.0-pre documentation »