diff --git a/journals/migrations/0007_auto_20170210_1521.py b/journals/migrations/0007_auto_20170210_1521.py new file mode 100644 index 0000000000000000000000000000000000000000..62880f9f0b7a35ad9c95157f1bba5a9a60235609 --- /dev/null +++ b/journals/migrations/0007_auto_20170210_1521.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.3 on 2017-02-10 14:21 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('journals', '0006_publication_citedby'), + ] + + operations = [ + migrations.AlterField( + model_name='issue', + name='number', + field=models.PositiveSmallIntegerField(), + ), + migrations.AlterUniqueTogether( + name='issue', + unique_together=set([('number', 'in_volume')]), + ), + ] diff --git a/journals/migrations/0008_auto_20170210_1524.py b/journals/migrations/0008_auto_20170210_1524.py new file mode 100644 index 0000000000000000000000000000000000000000..6d4488fed13a119c82b28f24ab39ab9885784afb --- /dev/null +++ b/journals/migrations/0008_auto_20170210_1524.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.3 on 2017-02-10 14:24 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('journals', '0007_auto_20170210_1521'), + ] + + operations = [ + migrations.AlterField( + model_name='volume', + name='number', + field=models.PositiveSmallIntegerField(), + ), + migrations.AlterUniqueTogether( + name='volume', + unique_together=set([('number', 'in_journal')]), + ), + ] diff --git a/journals/models.py b/journals/models.py index fe7ea251f2451258975ae7ecc607e8166154e63c..15f46621ac052c3e44e4d5133d226bea03854c7c 100644 --- a/journals/models.py +++ b/journals/models.py @@ -124,24 +124,30 @@ class Journal(models.Model): class Volume(models.Model): in_journal = models.ForeignKey(Journal, on_delete=models.CASCADE) - number = models.PositiveSmallIntegerField(unique=True) + number = models.PositiveSmallIntegerField() start_date = models.DateField(default=timezone.now) until_date = models.DateField(default=timezone.now) doi_string = models.CharField(max_length=200, blank=True, null=True) + class Meta: + unique_together = ('number', 'in_journal') + def __str__(self): return str(self.in_journal) + ' Vol. ' + str(self.number) class Issue(models.Model): in_volume = models.ForeignKey(Volume, on_delete=models.CASCADE) - number = models.PositiveSmallIntegerField(unique=True) + number = models.PositiveSmallIntegerField() start_date = models.DateField(default=timezone.now) until_date = models.DateField(default=timezone.now) doi_string = models.CharField(max_length=200, blank=True, null=True) # absolute path on filesystem: (JOURNALS_DIR)/journal/vol/issue/ path = models.CharField(max_length=200) + class Meta: + unique_together = ('number', 'in_volume') + def __str__(self): text = str(self.in_volume) + ' issue ' + str(self.number) if self.start_date.month == self.until_date.month: