Skip to content

Commit f53a1e9

Browse files
committed
Add migrations
1 parent 63d4b11 commit f53a1e9

File tree

8 files changed

+229
-0
lines changed

8 files changed

+229
-0
lines changed

essay/migrations/0001_initial.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.11.3 on 2017-06-22 11:20
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.db.models.deletion
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
initial = True
12+
13+
dependencies = [
14+
('quiz', '__first__'),
15+
]
16+
17+
operations = [
18+
migrations.CreateModel(
19+
name='Essay_Question',
20+
fields=[
21+
('question_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='quiz.Question')),
22+
],
23+
options={
24+
'verbose_name': 'Essay style question',
25+
'verbose_name_plural': 'Essay style questions',
26+
},
27+
bases=('quiz.question',),
28+
),
29+
]

essay/migrations/__init__.py

Whitespace-only changes.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.11.3 on 2017-06-22 11:20
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.db.models.deletion
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
initial = True
12+
13+
dependencies = [
14+
('quiz', '__first__'),
15+
]
16+
17+
operations = [
18+
migrations.CreateModel(
19+
name='Answer',
20+
fields=[
21+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
22+
('content', models.CharField(help_text='Enter the answer text that you want displayed', max_length=1000, verbose_name='Content')),
23+
('correct', models.BooleanField(default=False, help_text='Is this a correct answer?', verbose_name='Correct')),
24+
],
25+
options={
26+
'verbose_name': 'Answer',
27+
'verbose_name_plural': 'Answers',
28+
},
29+
),
30+
migrations.CreateModel(
31+
name='MCQuestion',
32+
fields=[
33+
('question_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='quiz.Question')),
34+
('answer_order', models.CharField(blank=True, choices=[('content', 'Content'), ('random', 'Random'), ('none', 'None')], help_text='The order in which multichoice answer options are displayed to the user', max_length=30, null=True, verbose_name='Answer Order')),
35+
],
36+
options={
37+
'verbose_name': 'Multiple Choice Question',
38+
'verbose_name_plural': 'Multiple Choice Questions',
39+
},
40+
bases=('quiz.question',),
41+
),
42+
migrations.AddField(
43+
model_name='answer',
44+
name='question',
45+
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='multichoice.MCQuestion', verbose_name='Question'),
46+
),
47+
]

multichoice/migrations/__init__.py

Whitespace-only changes.

quiz/migrations/0001_initial.py

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.11.3 on 2017-06-22 11:20
3+
from __future__ import unicode_literals
4+
5+
from django.conf import settings
6+
import django.core.validators
7+
from django.db import migrations, models
8+
import django.db.models.deletion
9+
10+
11+
class Migration(migrations.Migration):
12+
13+
initial = True
14+
15+
dependencies = [
16+
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
17+
]
18+
19+
operations = [
20+
migrations.CreateModel(
21+
name='Category',
22+
fields=[
23+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
24+
('category', models.CharField(blank=True, max_length=250, null=True, unique=True, verbose_name='Category')),
25+
],
26+
options={
27+
'verbose_name': 'Category',
28+
'verbose_name_plural': 'Categories',
29+
},
30+
),
31+
migrations.CreateModel(
32+
name='Progress',
33+
fields=[
34+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
35+
('score', models.CommaSeparatedIntegerField(max_length=1024, verbose_name='Score')),
36+
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
37+
],
38+
options={
39+
'verbose_name': 'User Progress',
40+
'verbose_name_plural': 'User progress records',
41+
},
42+
),
43+
migrations.CreateModel(
44+
name='Question',
45+
fields=[
46+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
47+
('figure', models.ImageField(blank=True, null=True, upload_to='uploads/%Y/%m/%d', verbose_name='Figure')),
48+
('content', models.CharField(help_text='Enter the question text that you want displayed', max_length=1000, verbose_name='Question')),
49+
('explanation', models.TextField(blank=True, help_text='Explanation to be shown after the question has been answered.', max_length=2000, verbose_name='Explanation')),
50+
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='quiz.Category', verbose_name='Category')),
51+
],
52+
options={
53+
'verbose_name': 'Question',
54+
'verbose_name_plural': 'Questions',
55+
'ordering': ['category'],
56+
},
57+
),
58+
migrations.CreateModel(
59+
name='Quiz',
60+
fields=[
61+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
62+
('title', models.CharField(max_length=60, verbose_name='Title')),
63+
('description', models.TextField(blank=True, help_text='a description of the quiz', verbose_name='Description')),
64+
('url', models.SlugField(help_text='a user friendly url', max_length=60, verbose_name='user friendly url')),
65+
('random_order', models.BooleanField(default=False, help_text='Display the questions in a random order or as they are set?', verbose_name='Random Order')),
66+
('max_questions', models.PositiveIntegerField(blank=True, help_text='Number of questions to be answered on each attempt.', null=True, verbose_name='Max Questions')),
67+
('answers_at_end', models.BooleanField(default=False, help_text='Correct answer is NOT shown after question. Answers displayed at the end.', verbose_name='Answers at end')),
68+
('exam_paper', models.BooleanField(default=False, help_text='If yes, the result of each attempt by a user will be stored. Necessary for marking.', verbose_name='Exam Paper')),
69+
('single_attempt', models.BooleanField(default=False, help_text='If yes, only one attempt by a user will be permitted. Non users cannot sit this exam.', verbose_name='Single Attempt')),
70+
('pass_mark', models.SmallIntegerField(blank=True, default=0, help_text='Percentage required to pass exam.', validators=[django.core.validators.MaxValueValidator(100)], verbose_name='Pass Mark')),
71+
('success_text', models.TextField(blank=True, help_text='Displayed if user passes.', verbose_name='Success Text')),
72+
('fail_text', models.TextField(blank=True, help_text='Displayed if user fails.', verbose_name='Fail Text')),
73+
('draft', models.BooleanField(default=False, help_text='If yes, the quiz is not displayed in the quiz list and can only be taken by users who can edit quizzes.', verbose_name='Draft')),
74+
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='quiz.Category', verbose_name='Category')),
75+
],
76+
options={
77+
'verbose_name': 'Quiz',
78+
'verbose_name_plural': 'Quizzes',
79+
},
80+
),
81+
migrations.CreateModel(
82+
name='Sitting',
83+
fields=[
84+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
85+
('question_order', models.CommaSeparatedIntegerField(max_length=1024, verbose_name='Question Order')),
86+
('question_list', models.CommaSeparatedIntegerField(max_length=1024, verbose_name='Question List')),
87+
('incorrect_questions', models.CommaSeparatedIntegerField(blank=True, max_length=1024, verbose_name='Incorrect questions')),
88+
('current_score', models.IntegerField(verbose_name='Current Score')),
89+
('complete', models.BooleanField(default=False, verbose_name='Complete')),
90+
('user_answers', models.TextField(blank=True, default='{}', verbose_name='User Answers')),
91+
('start', models.DateTimeField(auto_now_add=True, verbose_name='Start')),
92+
('end', models.DateTimeField(blank=True, null=True, verbose_name='End')),
93+
('quiz', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quiz.Quiz', verbose_name='Quiz')),
94+
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
95+
],
96+
options={
97+
'permissions': (('view_sittings', 'Can see completed exams.'),),
98+
},
99+
),
100+
migrations.CreateModel(
101+
name='SubCategory',
102+
fields=[
103+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
104+
('sub_category', models.CharField(blank=True, max_length=250, null=True, verbose_name='Sub-Category')),
105+
('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='quiz.Category', verbose_name='Category')),
106+
],
107+
options={
108+
'verbose_name': 'Sub-Category',
109+
'verbose_name_plural': 'Sub-Categories',
110+
},
111+
),
112+
migrations.AddField(
113+
model_name='question',
114+
name='quiz',
115+
field=models.ManyToManyField(blank=True, to='quiz.Quiz', verbose_name='Quiz'),
116+
),
117+
migrations.AddField(
118+
model_name='question',
119+
name='sub_category',
120+
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='quiz.SubCategory', verbose_name='Sub-Category'),
121+
),
122+
]

quiz/migrations/__init__.py

Whitespace-only changes.

true_false/migrations/0001_initial.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.11.3 on 2017-06-22 11:20
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.db.models.deletion
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
initial = True
12+
13+
dependencies = [
14+
('quiz', '__first__'),
15+
]
16+
17+
operations = [
18+
migrations.CreateModel(
19+
name='TF_Question',
20+
fields=[
21+
('question_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='quiz.Question')),
22+
('correct', models.BooleanField(default=False, help_text='Tick this if the question is true. Leave it blank for false.', verbose_name='Correct')),
23+
],
24+
options={
25+
'verbose_name': 'True/False Question',
26+
'verbose_name_plural': 'True/False Questions',
27+
'ordering': ['category'],
28+
},
29+
bases=('quiz.question',),
30+
),
31+
]

true_false/migrations/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)