diff --git a/beat/web/backend/migrations/0002_auto_20160330_0005.py b/beat/web/backend/migrations/0002_auto_20160330_0005.py index f5a5332866de28514c4e072a450622fd9e1e7eb3..6ab1f84015350aaf58accdc9c456eb21e5ed6583 100644 --- a/beat/web/backend/migrations/0002_auto_20160330_0005.py +++ b/beat/web/backend/migrations/0002_auto_20160330_0005.py @@ -20,7 +20,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='slot', name='priority', - field=models.IntegerField(default=0, help_text=b'Priority of these slots on the defined queue'), + field=models.PositiveIntegerField(default=0, help_text=b'Priority of these slots on the defined queue'), ), migrations.AlterUniqueTogether( name='slot', @@ -39,11 +39,46 @@ class Migration(migrations.Migration): migrations.AddField( model_name='worker', name='info', - field=models.TextField(null=True, blank=True), + field=models.TextField(help_text=b'Informative message from the worker in case it is inactive', null=True, blank=True), ), migrations.AddField( model_name='worker', name='memory', - field=models.IntegerField(default=0), + field=models.PositiveIntegerField(default=0, help_text=b'In megabytes'), + ), + migrations.AlterField( + model_name='queue', + name='cores_per_slot', + field=models.PositiveIntegerField(), + ), + migrations.AlterField( + model_name='queue', + name='max_slots_per_user', + field=models.PositiveIntegerField(), + ), + migrations.AlterField( + model_name='queue', + name='memory_limit', + field=models.PositiveIntegerField(help_text=b'In megabytes'), + ), + migrations.AlterField( + model_name='queue', + name='time_limit', + field=models.PositiveIntegerField(help_text=b'In minutes'), + ), + migrations.AlterField( + model_name='slot', + name='quantity', + field=models.PositiveIntegerField(help_text=b'Number of processing slots to dedicate in this worker for a given queue', verbose_name=b'Number of slots'), + ), + migrations.AlterField( + model_name='worker', + name='cores', + field=models.PositiveIntegerField(), + ), + migrations.AlterField( + model_name='environment', + name='previous_version', + field=models.ForeignKey(related_name='next_versions', on_delete=models.deletion.SET_NULL, blank=True, to='backend.Environment', null=True), ), ] diff --git a/beat/web/backend/models.py b/beat/web/backend/models.py index a216db7f20fe5c96151dc34333388ba72ee9c46d..9111451a04a752ee72ea55909494695103c39546 100644 --- a/beat/web/backend/models.py +++ b/beat/web/backend/models.py @@ -77,7 +77,8 @@ class Environment(Shareable): previous_version = models.ForeignKey('self', related_name='next_versions', null=True, - blank=True + blank=True, + on_delete=models.SET_NULL, ) #_____ Meta parameters __________ @@ -131,11 +132,12 @@ class Worker(models.Model): default=True, ) - cores = models.IntegerField() + cores = models.PositiveIntegerField() - memory = models.IntegerField(default=0) + memory = models.PositiveIntegerField(default=0, help_text='In megabytes') - info = models.TextField(null=True, blank=True) + info = models.TextField(null=True, blank=True, + help_text='Informative message from the worker in case it is inactive') #_____ Overrides __________ @@ -179,13 +181,13 @@ class Queue(models.Model): name = models.CharField(max_length=100, help_text=Messages['name']) - memory_limit = models.IntegerField(help_text='In megabytes') + memory_limit = models.PositiveIntegerField(help_text='In megabytes') - time_limit = models.IntegerField(help_text='In minutes') + time_limit = models.PositiveIntegerField(help_text='In minutes') - cores_per_slot = models.IntegerField() + cores_per_slot = models.PositiveIntegerField() - max_slots_per_user = models.IntegerField() + max_slots_per_user = models.PositiveIntegerField() environments = models.ManyToManyField( Environment, @@ -264,22 +266,18 @@ class Queue(models.Model): class Slot(models.Model): - queue = models.ForeignKey( - Queue, - related_name='slots', - ) + queue = models.ForeignKey(Queue, related_name='slots', + on_delete=models.CASCADE) - worker = models.ForeignKey( - Worker, - related_name='slots', - ) + worker = models.ForeignKey(Worker, related_name='slots', + on_delete=models.CASCADE) - quantity = models.IntegerField( + quantity = models.PositiveIntegerField( 'Number of slots', help_text='Number of processing slots to dedicate in this worker for a given queue' ) - priority = models.IntegerField( + priority = models.PositiveIntegerField( default=0, help_text='Priority of these slots on the defined queue' )