I am trying to create activity streams of users from their status.
models:
class Status(models.Model):
body = models.TextField(max_length=200)
Seems like your post_save.connect is not executed. You should import signals somewhere. For django 1.7 it is recommended to do this in the app's config ready() function. Read the "Where should this code live?" side note in the docs.
For example if your app is called activity:
activity/__init__.py
default_app_config = 'activity.apps.ActivityAppConfig'
activity/apps.py
from django.apps import AppConfig
class ActivityAppConfig(AppConfig):
name = 'activity'
def ready(self):
import activity.signals
And don't forget to add dispatch_uid to your connect() call:
post_save.connect(create_activity_item, sender=Status,
dispatch_uid="create_activity_item")
UPDATE: name attribute of ContentType is always in lower case. So you should change the if statement to:
if ctype.name == 'status':