Page MenuHomec4science

models.py
No OneTemporary

File Metadata

Created
Tue, Jul 30, 12:04

models.py

from django.db import models
from django.contrib.auth.models import User
from datetime import date
from django.utils.translation import gettext as _
# test model with essential tables
class Country(models.Model):
name = models.CharField(max_length = 120, null=False, default='unknown')
def __str__(self):
return f"{self.name}"
class Language(models.Model):
name = models.CharField(max_length = 120, null=False)
def __str__(self):
return f"{self.name}"
class Issn(models.Model):
serial = models.CharField(max_length = 9, null=False)
def __str__(self):
return f"{self.serial}"
class Journal(models.Model):
name = models.CharField(max_length=300, null=False) # search journal with name
issn = models.ManyToManyField("Issn") # search journal with ISSN
website = models.URLField(max_length=120)
languages = models.ManyToManyField(Language)
country = models.ForeignKey("Country", on_delete=models.CASCADE)
# oa_status = models.PositiveSmallIntegerField() #??????
starting_year = models.DateField(_("Date"), default=date.today) # add today for testing purpose
# doaj_status = models.CharField(max_length=60)
# qoam_status = models.CharField(max_length=60)
# lockss_portico = models.CharField(max_length=120)
def __str__(self):
return f"{self.name} from {self.website}"
class Institution(models.Model):
name = models.CharField(max_length=300, null=False)
def __str__(self):
return f"{self.name}"
class Funder(models.Model):
name = models.CharField(max_length=300, null=False)
def __str__(self):
return f"{self.name}"
class Condition(models.Model):
name = models.CharField(max_length=300, null=False)
validity = models.DateField(_("Date"), default=date.today) # add today for testing purpose
journal = models.ManyToManyField(Journal)
funder = models.ManyToManyField(Funder)
institution = models.ManyToManyField(Institution)
class Meta:
ordering = ('-validity',)
def __str__(self):
return f"{self.name}"

Event Timeline