diff options
Diffstat (limited to 'djangopypi/models.py')
-rw-r--r-- | djangopypi/models.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/djangopypi/models.py b/djangopypi/models.py index d98c4da..3539fb2 100644 --- a/djangopypi/models.py +++ b/djangopypi/models.py | |||
@@ -35,6 +35,22 @@ ARCHITECTURES = ( | |||
35 | UPLOAD_TO = getattr(settings, | 35 | UPLOAD_TO = getattr(settings, |
36 | "DJANGOPYPI_RELEASE_UPLOAD_TO", 'dist') | 36 | "DJANGOPYPI_RELEASE_UPLOAD_TO", 'dist') |
37 | 37 | ||
38 | |||
39 | class Channel(models.Model): | ||
40 | name = models.CharField(max_length=255, unique=True) | ||
41 | |||
42 | class Meta: | ||
43 | verbose_name = _(u"channel") | ||
44 | verbose_name_plural = _(u"channels") | ||
45 | |||
46 | def __unicode__(self): | ||
47 | return self.name | ||
48 | |||
49 | @models.permalink | ||
50 | def get_absolute_url(self): | ||
51 | return ('djangopypi-channel_show_dists', (), {'channel': self.name}) | ||
52 | |||
53 | |||
38 | class Classifier(models.Model): | 54 | class Classifier(models.Model): |
39 | name = models.CharField(max_length=255, unique=True) | 55 | name = models.CharField(max_length=255, unique=True) |
40 | 56 | ||
@@ -82,6 +98,7 @@ class Project(models.Model): | |||
82 | except Release.DoesNotExist: | 98 | except Release.DoesNotExist: |
83 | return None | 99 | return None |
84 | 100 | ||
101 | |||
85 | class Release(models.Model): | 102 | class Release(models.Model): |
86 | version = models.CharField(max_length=32) | 103 | version = models.CharField(max_length=32) |
87 | distribution = models.FileField(upload_to=UPLOAD_TO) | 104 | distribution = models.FileField(upload_to=UPLOAD_TO) |
@@ -92,6 +109,8 @@ class Release(models.Model): | |||
92 | pyversion = models.CharField(max_length=32, blank=True) | 109 | pyversion = models.CharField(max_length=32, blank=True) |
93 | project = models.ForeignKey(Project, related_name="releases") | 110 | project = models.ForeignKey(Project, related_name="releases") |
94 | upload_time = models.DateTimeField(auto_now=True) | 111 | upload_time = models.DateTimeField(auto_now=True) |
112 | channel = models.ForeignKey(Channel, related_name="channels", | ||
113 | blank=True, null=True) | ||
95 | 114 | ||
96 | class Meta: | 115 | class Meta: |
97 | verbose_name = _(u"release") | 116 | verbose_name = _(u"release") |