migrate atlas series from sortedm2m

This commit is contained in:
Ross
2024-02-17 21:56:54 +00:00
parent f5d429498a
commit b8656b1e91
4 changed files with 75 additions and 10 deletions
+26
View File
@@ -0,0 +1,26 @@
# Generated by Django 4.1.4 on 2024-02-17 21:23
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('atlas', '0039_alter_casecollection_collection_type'),
]
operations = [
migrations.CreateModel(
name='SeriesDetail',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sort_order', models.IntegerField(default=1000)),
('case', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='atlas.case')),
('series', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='atlas.series')),
],
options={
'ordering': ('sort_order',),
},
),
]
@@ -0,0 +1,17 @@
# Generated by Django 4.1.4 on 2024-02-17 21:42
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('atlas', '0040_seriesdetail'),
]
operations = [
migrations.RunSQL(
"""INSERT INTO atlas_seriesdetail
SELECT * FROM atlas_case_series;"""
)
]
@@ -0,0 +1,22 @@
# Generated by Django 4.1.4 on 2024-02-17 21:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('atlas', '0041_auto_20240217_2142'),
]
operations = [
migrations.RemoveField(
model_name='case',
name='series',
),
migrations.AddField(
model_name='case',
name='series',
field=models.ManyToManyField(related_name='case', through='atlas.SeriesDetail', to='atlas.series'),
),
]
+10 -10
View File
@@ -354,8 +354,8 @@ class Case(models.Model, AuthorMixin):
help_text="If a case should be freely available to browse", default=True
)
series = SortedManyToManyField("Series", related_name="case")
#series = models.ManyToManyField("Series", through="SeriesDetail", related_name="case")
#series = SortedManyToManyField("Series", related_name="case")
series = models.ManyToManyField("Series", through="SeriesDetail", related_name="case")
notes = GenericRelation(QuestionNote)
@@ -869,14 +869,14 @@ class CaseCollection(ExamOrCollectionGenericBase):
}
#class SeriesDetail(models.Model):
# case = models.ForeignKey(Case, on_delete=models.CASCADE)
# series = models.ForeignKey(Series, on_delete=models.CASCADE)
#
# sort_order = models.IntegerField(default=1000)
#
# class Meta:
# ordering = ("sort_order",)
class SeriesDetail(models.Model):
case = models.ForeignKey(Case, on_delete=models.CASCADE)
series = models.ForeignKey(Series, on_delete=models.CASCADE)
sort_order = models.IntegerField(default=1000)
class Meta:
ordering = ("sort_order",)
class CaseDetail(models.Model):
case = models.ForeignKey(Case, on_delete=models.CASCADE)