Added support for ETag and Last-Modified headers.
[~jspiros/reader.git] / models.py
1 from django.db import models
2 from django.contrib.auth.models import User
3
4
5 class Feed(models.Model):
6         url = models.URLField()
7         title = models.CharField(max_length=255)
8         updated = models.DateTimeField()
9         etag = models.CharField(max_length=255, blank=True, null=True)
10         modified = models.DateTimeField(blank=True, null=True)
11         alive = models.BooleanField(default=True)
12
13
14 class Entry(models.Model):
15         feed = models.ForeignKey(Feed, related_name='entries')
16         uri = models.CharField(max_length=255)
17         title = models.CharField(max_length=255)
18         published = models.DateTimeField()
19         updated = models.DateTimeField()
20         summary = models.TextField()
21         content = models.TextField()
22
23
24 class Subscription(models.Model):
25         user = models.ForeignKey(User, related_name='reader_subscriptions')
26         feed = models.ForeignKey(Feed, related_name='subscriptions')
27         custom_title = models.CharField(max_length=255, blank=True, null=True)
28         
29         @property
30         def title(self):
31                 return self.custom_title if self.custom_title else self.feed.title