Skip to content

Commit

Permalink
Merge pull request #558 from furlongm/module-uniqueness
Browse files Browse the repository at this point in the history
use correct module uniqeness constraint
  • Loading branch information
furlongm authored Feb 5, 2024
2 parents cfeecd0 + 5bb0061 commit c0d1c2f
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 5 deletions.
33 changes: 33 additions & 0 deletions modules/migrations/0002_auto_20240204_2214.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Generated by Django 3.2.23 on 2024-02-04 22:14

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('arch', '0001_initial'),
('modules', '0001_initial'),
]

operations = [
migrations.AlterField(
model_name='module',
name='context',
field=models.CharField(max_length=255),
),
migrations.AlterField(
model_name='module',
name='name',
field=models.CharField(max_length=255),
),
migrations.AlterField(
model_name='module',
name='stream',
field=models.CharField(max_length=255),
),
migrations.AlterUniqueTogether(
name='module',
unique_together={('name', 'stream', 'version', 'context', 'arch')},
),
]
17 changes: 17 additions & 0 deletions modules/migrations/0003_alter_module_options.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Generated by Django 3.2.23 on 2024-02-04 22:40

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('modules', '0002_auto_20240204_2214'),
]

operations = [
migrations.AlterModelOptions(
name='module',
options={'ordering': ('name', 'stream'), 'verbose_name': 'Module', 'verbose_name_plural': 'Modules'},
),
]
11 changes: 6 additions & 5 deletions modules/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,22 @@

class Module(models.Model):

name = models.CharField(unique=True, max_length=255)
stream = models.CharField(unique=True, max_length=255)
name = models.CharField(max_length=255)
stream = models.CharField(max_length=255)
version = models.CharField(max_length=255)
context = models.CharField(unique=True, max_length=255)
context = models.CharField(max_length=255)
arch = models.ForeignKey(PackageArchitecture, on_delete=models.CASCADE)
repo = models.ForeignKey(Repository, on_delete=models.CASCADE)
packages = models.ManyToManyField(Package, blank=True)

class Meta:
verbose_name = 'Module'
verbose_name_plural = 'Modules'
ordering = ('name',)
unique_together = ('name', 'stream', 'version', 'context', 'arch',)
ordering = ('name', 'stream',)

def __str__(self):
return self.name
return f'{self.name}-{self.stream}'

def get_absolute_url(self):
return reverse('modules:module_detail', args=[str(self.id)])

0 comments on commit c0d1c2f

Please sign in to comment.