import django.db.models.deletion from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ('account', '0001_initial'), ('course', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='QuizRankUser', fields=[ ], options={ 'verbose_name': 'Rank Quiz', 'verbose_name_plural': 'Rank Quizzes', 'proxy': True, 'indexes': [], 'constraints': [], }, bases=('account.user',), ), migrations.CreateModel( name='Quiz', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(help_text='Quiz Title', max_length=255, verbose_name='title')), ('description', models.CharField(blank=True, max_length=55, null=True, verbose_name='Description')), ('each_question_timing', models.PositiveIntegerField()), ('status', models.BooleanField(default=True)), ('lesson', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='quizzes', to='course.lesson', verbose_name='lesson')), ], options={ 'verbose_name': 'Quiz', 'verbose_name_plural': 'Quizzes', 'ordering': ('-id',), }, ), migrations.CreateModel( name='Question', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('question', models.CharField(max_length=255)), ('option1', models.CharField(max_length=255, verbose_name='option 1')), ('option2', models.CharField(max_length=255, verbose_name='option 2')), ('option3', models.CharField(max_length=255, verbose_name='option 3')), ('option4', models.CharField(max_length=255, verbose_name='option 4')), ('correct_answer', models.PositiveSmallIntegerField(choices=[(1, 'Option 1'), (2, 'Option 2'), (3, 'Option 3'), (4, 'Option 4')])), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')), ('priority', models.IntegerField(blank=True, null=True)), ('quiz', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='questions', to='quiz.quiz', verbose_name='quiz')), ], options={ 'verbose_name': 'Question', 'verbose_name_plural': 'Questions', 'ordering': ('-priority', '-id'), }, ), migrations.CreateModel( name='QuizParticipant', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('started_at', models.DateTimeField(verbose_name='started at')), ('ended_at', models.DateTimeField(verbose_name='ended at')), ('total_timing', models.PositiveIntegerField(help_text='Seconds take to finish the quiz')), ('question_score', models.PositiveIntegerField()), ('timing_score', models.PositiveIntegerField()), ('total_score', models.PositiveIntegerField()), ('quiz', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='participants', to='quiz.quiz')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='uquizzes', to=settings.AUTH_USER_MODEL, verbose_name='user')), ], options={ 'verbose_name': 'Participant', 'verbose_name_plural': 'Participants', 'ordering': ('-id',), }, ), migrations.CreateModel( name='ParticipantAnswer', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('option_num', models.PositiveSmallIntegerField(choices=[(1, 'Option 1'), (2, 'Option 2'), (3, 'Option 3'), (4, 'Option 4')], verbose_name='selected option')), ('at_time', models.DateTimeField()), ('answer_timing', models.PositiveSmallIntegerField(default=0, verbose_name='seconds take to answer')), ('question', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='quiz.question')), ('participant', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='quiz.quizparticipant')), ], options={ 'verbose_name': 'User Quiz Answer', 'verbose_name_plural': 'User Quiz Answers', 'ordering': ('-id',), }, ), ]