Skip to content
Snippets Groups Projects
models.py 1.01 KiB
Newer Older
Guilhem Saurel's avatar
Guilhem Saurel committed
from django.db import models

from ndh.models import TimeStampedModel, NamedModel


class Project(NamedModel):
    pass


class License(NamedModel):
    pass


class Package(NamedModel, TimeStampedModel):
    project = models.ForeignKey(Project)
Guilhem Saurel's avatar
Guilhem Saurel committed
    homepage = models.URLField(max_length=200, blank=True, null=True)
    license = models.ForeignKey(License, blank=True, null=True)

Guilhem Saurel's avatar
Guilhem Saurel committed
    class Meta:
        ordering = ('name',)


class Repo(TimeStampedModel):
    package = models.ForeignKey(Package)
Guilhem Saurel's avatar
Guilhem Saurel committed
    url = models.URLField(max_length=200, unique=True)
    homepage = models.URLField(max_length=200, blank=True, null=True)
    license = models.ForeignKey(License, blank=True, null=True)
    default_branch = models.CharField(max_length=50)
    open_issues = models.PositiveSmallIntegerField(blank=True, null=True)
    open_pr = models.PositiveSmallIntegerField(blank=True, null=True)
Guilhem Saurel's avatar
Guilhem Saurel committed
    repo_id = models.PositiveIntegerField()
Guilhem Saurel's avatar
Guilhem Saurel committed

    class Meta:
Guilhem Saurel's avatar
Guilhem Saurel committed
        ordering = ('package', 'url')

    def __str__(self):
        return self.url