annotate apps/bundle/models.py @ 6:c83460992637

Elaborate on stub bundle template
author Jordi Gutiérrez Hermoso <jordigh@gmail.com>
date Fri, 25 Jun 2010 18:32:15 -0500
parents 069cabdaf8b2
children 6ba969517b9c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
3cef0d445036 Start actual app structure
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents:
diff changeset
1 from django.db import models
3
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
2 from django.contrib.auth.models import User
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
3 from agora.apps.free_license.models import Free_license
2
3cef0d445036 Start actual app structure
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents:
diff changeset
4
3
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
5 class Bundle(models.Model):
4
069cabdaf8b2 Define stub template and admin site
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 3
diff changeset
6 name = models.CharField(max_length=256)
3
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
7 uploader = models.ForeignKey(User)
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
8 description = models.TextField()
4
069cabdaf8b2 Define stub template and admin site
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 3
diff changeset
9 free_license = models.ForeignKey(Free_license)
3
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
10 pub_date = models.DateTimeField('date uploaded')
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
11 mod_date = models.DateTimeField('date last modified')
6
c83460992637 Elaborate on stub bundle template
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 4
diff changeset
12
c83460992637 Elaborate on stub bundle template
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 4
diff changeset
13 class Meta:
c83460992637 Elaborate on stub bundle template
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 4
diff changeset
14 #Every user must pick unique names for their bundles
c83460992637 Elaborate on stub bundle template
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 4
diff changeset
15 unique_together = ('uploader','name')
c83460992637 Elaborate on stub bundle template
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 4
diff changeset
16
3
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
17 def __unicode__(self):
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
18 return self.name
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
19
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
20 class BundleFile(models.Model):
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
21 name = models.CharField(max_length=256)
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
22 bundle = models.ForeignKey(Bundle)
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
23 bundle_file = models.FileField(upload_to='bundles/')
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
24 def __unicode__(self):
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
25 return self.name
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
26
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
27 class CodeFile(BundleFile):
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
28 code = models.TextField()
9a4429652662 Define models
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 2
diff changeset
29 language = models.CharField(max_length=50)