migrate rapids

This commit is contained in:
Ross
2024-02-17 23:01:43 +00:00
parent 0bc2830ea2
commit 3a52855eb7
5 changed files with 72 additions and 10 deletions
@@ -0,0 +1,30 @@
# Generated by Django 4.1.4 on 2024-02-17 22:55
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('rapids', '0005_rename_exam_collection_exam_examcollection'),
]
operations = [
migrations.CreateModel(
name='ExamQuestionDetail',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('sort_order', models.IntegerField(default=1000)),
('exam', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rapids.exam')),
('rapid', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rapids.rapid')),
],
options={
'ordering': ('sort_order',),
},
),
migrations.RunSQL(
"""INSERT INTO rapids_examquestiondetail
SELECT * FROM rapids_exam_exam_questions;"""
),
]
@@ -0,0 +1,22 @@
# Generated by Django 4.1.4 on 2024-02-17 22:57
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rapids', '0006_examquestiondetail'),
]
operations = [
migrations.RemoveField(
model_name='exam',
name='exam_questions',
),
migrations.AddField(
model_name='exam',
name='exam_questions',
field=models.ManyToManyField(related_name='exams', through='rapids.ExamQuestionDetail', to='rapids.rapid'),
),
]
+10 -1
View File
@@ -601,12 +601,21 @@ class RapidCreationDefault(models.Model):
def get_absolute_url(self):
return reverse("rapids:rapid_create")
class ExamQuestionDetail(models.Model):
exam = models.ForeignKey("Exam", on_delete=models.CASCADE)
rapid = models.ForeignKey(Rapid, on_delete=models.CASCADE)
sort_order = models.IntegerField(default=1000)
class Meta:
ordering = ("sort_order",)
# @reversion.register
class Exam(ExamBase):
app_name = "rapids"
exam_questions = SortedManyToManyField(Rapid, related_name="exams", blank="true")
#exam_questions = SortedManyToManyField(Rapid, related_name="exams", blank="true")
exam_questions = models.ManyToManyField(Rapid, through=ExamQuestionDetail, related_name="exams")
time_limit = models.IntegerField(
help_text="Exam time limit (in seconds). Default is 2100 secondse (35 minutes)",