summaryrefslogtreecommitdiff
path: root/repos/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'repos/models.py')
-rw-r--r--repos/models.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/repos/models.py b/repos/models.py
new file mode 100644
index 0000000..3502cc0
--- /dev/null
+++ b/repos/models.py
@@ -0,0 +1,45 @@
+from django.db import models
+
+# Create your models here.
+
+
+class Arch(models.Model):
+ name = models.CharField(max_length=20, unique=True, null=False, blank=False)
+ agnostic = models.BooleanField(default=False)
+
+ def __str__(self):
+ return self.name
+
+
+class PackageType(models.Model):
+ name = models.CharField(max_length=50, null=False, blank=False)
+ operating_system = models.CharField(max_length=50, null=False, blank=False)
+ codename = models.CharField(max_length=50, null=False, blank=True)
+ library = models.CharField(max_length=50, null=True, blank=True)
+
+ def __str__(self):
+ return '%s - %s' % (self.name, self.codename,)
+
+
+class Repository(models.Model):
+ name = models.CharField(max_length=50, null=False, blank=False)
+ package_type = models.ForeignKey(PackageType)
+ arches = models.ManyToManyField(Arch)
+ location = models.CharField(max_length=255, null=False, blank=False)
+
+ def __str__(self):
+ return '%s - %s' % (self.name, self.package_type.codename,)
+
+
+class Package(models.Model):
+ name = models.CharField(max_length=50, null=False, blank=False)
+ repo = models.ForeignKey(Repository)
+ arch = models.ForeignKey(Arch)
+ description = models.TextField()
+ pkgver = models.CharField(max_length=255, null=False, blank=False)
+ pkgrel = models.IntegerField()
+ updated = models.DateField()
+ download = models.URLField()
+
+ def __str__(self):
+ return '%s %s-%d' % (self.name, self.pkgver, self.pkgrel,)