title: Django-way for building a "News Feed" / "Status update" / "Activity Stream"
body: <p>I'd like to create a reusable Django app that handles status updates of the Users. Much like facebook's "news feed".</p>
  
  <p>Use cases includes, for example:</p>
  
  <ul>
  <li>A Professor can create an Assignment due to an specific date and every student can see on the news feed that the assignment was created, with a short description, the date that it's due and a <em>link to see the full description</em>.</li>
  <li>He also can upload a new PDF that he finds interesting for his students. On the news feed, the info regarding this should be displayed, eg, the description of the pdf, <em>an link to download and a link to preview it</em>.</li>
  <li>A link to a YouTube video can be posted and on the News Feed is <em>displayed an small thumbnail</em> and, with a click, <em>the video is embbeded using javascript</em> and the user can watch it right away.</li>
  </ul>
  
  <p>One concern is how to handle different kinds of Updates and display the correct "html snippet" for it. The other, which is more important, is how to design the Models of this "Django way".</p>
  
  <p>About the former, I could think of two ways of doing it:</p>
  
  <ol>
  <li>Using Model inheritance;</li>
  <li>Using Generic relations.</li>
  </ol>
  
  <p>I searched before posting here, but I didn't find anything. I checked Pinax to see if they had it implemented, but they don't. So, I'm here looking for more suggestions on how to handle this in a nice and non-hacky way.</p>
  
  <p>Thanks in advance,</p>