diff --git a/db.sqlite3 b/db.sqlite3 index 159deb30..ec6f8a59 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/django_api/__pycache__/models.cpython-39.pyc b/django_api/__pycache__/models.cpython-39.pyc index 6e03f906..cdfe3878 100644 Binary files a/django_api/__pycache__/models.cpython-39.pyc and b/django_api/__pycache__/models.cpython-39.pyc differ diff --git a/django_api/models.py b/django_api/models.py index 8f6ae63a..5a21128c 100644 --- a/django_api/models.py +++ b/django_api/models.py @@ -1,166 +1,166 @@ 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') - iso_code = models.CharField(max_length = 3, null=False, default='unknown') + name = models.CharField(max_length = 120, null=True) + iso_code = models.CharField(max_length = 3, null=True) def __str__(self): return f"{self.name}" class Meta: ordering = ('name',) class City(models.Model): - name = models.CharField(max_length = 120, null=False, default='unknown') - iso_code = models.CharField(max_length = 3, null=False, default='unknown') - state = models.CharField(max_length = 3, null=False, default='unknown') + name = models.CharField(max_length = 120, null=True) + iso_code = models.CharField(max_length = 3, null=True) + state = models.CharField(max_length = 3, null=True) def __str__(self): return f"{self.name}" class Meta: ordering = ('name',) class Language(models.Model): - name = models.CharField(max_length = 120, null=False, default='unknown') - iso_code = models.CharField(max_length = 3, null=False, default='unknown') + name = models.CharField(max_length = 120, null=True) + iso_code = models.CharField(max_length = 3, null=True) def __str__(self): return f"{self.name}" class Meta: ordering = ('name',) class Issn(models.Model): PRINT = 1 ELECTRONIC = 2 CDROM = 3 TYPE_CHOICES = ( (PRINT, 'Print'), (ELECTRONIC, 'Electronic'), (CDROM, 'CD-ROM'), ) nbr = models.CharField(max_length = 9, null=False) journal = models.ManyToManyField("Journal") # search journal with ISSN type_list = models.CharField( choices = TYPE_CHOICES, max_length=10, blank=True ) def __str__(self): return f"{self.nbr} for {self.type_list}" class Meta: ordering = ('nbr',) class Oa(models.Model): - status = models.CharField(max_length=1000, null=False, default='unknown') - description = models.CharField(max_length=1000, null=False, default='unknown') + status = models.CharField(max_length=1000, null=True) + description = models.CharField(max_length=1000, null=True) subscription = models.BooleanField(default=False) accepted_manuscript = models.BooleanField(default=False) apc = models.BooleanField(default=False) final_version = models.BooleanField(default=False) def __str__(self): return f"{self.status}" class Meta: ordering = ('subscription',) class Publisher(models.Model): - name = models.CharField(max_length=1000, null=False, default='unknown') + name = models.CharField(max_length=1000, null=True) # city = models.ManyToManyField("City") - city = models.CharField(max_length=100, null=False, default='unknown') + city = models.CharField(max_length=100, null=True) state = models.CharField(max_length = 3, null=True) country = models.ManyToManyField("Country") starting_year = models.PositiveIntegerField() website = models.URLField(max_length=1000) oa_policies_url = models.URLField(max_length=1000) def __str__(self): return f"{self.name}" class Meta: ordering = ('name',) class Journal(models.Model): - name = models.CharField(max_length=1000, null=False) # search journal with name - name_short_iso_4 = models.CharField(max_length=300, null=False) + name = models.CharField(max_length=1000, null=True) # search journal with name + name_short_iso_4 = models.CharField(max_length=300, null=True) publisher = models.ManyToManyField(Publisher) website = models.URLField(max_length=300) # issn = models.ManyToManyField("Issn") # search journal with ISSN oa_options_url = models.URLField(max_length=1000) oa_status = models.ForeignKey("Oa", on_delete=models.CASCADE) starting_year = models.PositiveIntegerField() def __str__(self): return f"{self.name} from {self.website}" class Meta: ordering = ('name',) class Institution(models.Model): name_en = models.CharField(max_length=1000, null=True) name_en_short = models.CharField(max_length=100, null=True) name_de = models.CharField(max_length=1000, null=True) name_de_short = models.CharField(max_length=100, null=True) name_fr = models.CharField(max_length=1000, null=True) name_fr_short = models.CharField(max_length=100, null=True) name_it = models.CharField(max_length=1000, null=True) name_it_short = models.CharField(max_length=100, null=True) website = models.URLField(max_length=300) country = models.ManyToManyField("Country") starting_year = models.PositiveIntegerField() def __str__(self): return f"{self.website}" class Meta: ordering = ('starting_year',) class Funder(models.Model): - name = models.CharField(max_length=300, null=False) + name = models.CharField(max_length=300, null=True) def __str__(self): return f"{self.name}" class Meta: ordering = ('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}"