importing skeleton
from django.db import models from django.contrib.auth.models import User class UserProfile(models.Model): user = models.OneToOneField(User, related_name='profile') url = models.URLField() class Architecture(models.Model): safename = models.CharField(maxlength=15) name = models.CharField(maxlength=30) # summary = models.TextField() def __str__(self): return self.name class Admin: pass class ClientMachine(models.Model): owner = models.ForeignKey(User) arch = models.ForeignKey(Architecture) name = models.CharField(maxlength=30) address = models.CharField(maxlength=200) info_url = models.URLField() last_seen = models.DateTimeField() def __str__(self): return self.name class Admin: pass class ToolchainProfile(models.Model): manufacturer = models.CharField(maxlength=60) cc_version = models.CharField(maxlength=30) ld_version = models.CharField(maxlength=30) def __str__(self): return self.name class SourceTree(models.Model): safename = models.CharField(maxlength=64) name = models.CharField(maxlength=200) summary = models.TextField() arch = models.ForeignKey(Architecture, null=True) watchers = models.ManyToManyField(User, related_name='trees_watching') def __str__(self): return self.name class Admin: pass class KernelVersion(models.Model): tree = models.ForeignKey(SourceTree) base = models.CharField(maxlength=30) printable = models.CharField(maxlength=100) def __str__(self): return self.tree, printable class Job(models.Model): tag = models.CharField(maxlength=15) kversion = models.ForeignKey(KernelVersion) status = models.IntegerField() reason = models.CharField(maxlength=100) machine = models.ForeignKey(ClientMachine) def __str__(self): return self.machine, self.kversion, self.status class Patch(models.Model): # is there a need for both name and url, or can name be extracted from url? name = models.CharField(maxlength=20) url = models.URLField() def __str__(self): return self.name class Test(models.Model): name = models.CharField(maxlength=30) def __str__(self): return self.name class TestRun(models.Model): job = models.ForeignKey(Job) test = models.ForeignKey(Test) subdir = models.CharField(maxlength=60) kversion = models.ForeignKey(KernelVersion) status = models.IntegerField() reason = models.CharField(maxlength=100) def __str__(self): return self.test, self.kversion class TestAttribute(models.Model): name = models.CharField(maxlength=20) def __str__(self): return self.name class Result(models.Model): job = models.ForeignKey(Job) test = models.ForeignKey(Test) subdir = models.CharField(maxlength=60) kversion = models.ForeignKey(KernelVersion) attribute = models.ForeignKey(TestAttribute) value = models.IntegerField() def __str__(self): return self.test, self.kversion def create_initial_data(): if Architecture.objects.count() > 0: return Architecture( safename='alpha', name='Alpha' ).save() Architecture( safename='arm', name='ARM' ).save() Architecture( safename='arm26', name='ARM26' ).save() Architecture( safename='cris', name='CRIS' ).save() Architecture( safename='frv', name='FRV' ).save() Architecture( safename='h8300', name='H8300 ' ).save() Architecture( safename='i386', name='i386' ).save() Architecture( safename='ia64', name='IA-64' ).save() Architecture( safename='m32r', name='M32R' ).save() Architecture( safename='m68k', name='m68k' ).save() Architecture( safename='m68knommu', name='m68knommu' ).save() Architecture( safename='mips', name='MIPS' ).save() Architecture( safename='parisc', name='PA-RISC' ).save() Architecture( safename='powerpc', name='PowerPC' ).save() Architecture( safename='ppc', name='PowerPC' ).save() Architecture( safename='s390', name='s390' ).save() Architecture( safename='sh', name='SH' ).save() Architecture( safename='sh64', name='SH64' ).save() Architecture( safename='sparc', name='SPARC' ).save() Architecture( safename='sparc64', name='SPARC-64' ).save() Architecture( safename='um', name='User Mode Linux' ).save() Architecture( safename='v850', name='v850' ).save() Architecture( safename='x86_64', name='x86_64' ).save() Architecture( safename='xtensa', name='Xtensa' ).save()
|
Tobias McNulty Powered by ViewCVS 1.0-dev |
ViewCVS and CVS Help |