добрый день всем! в целях изучения джанго - решил написать на нем что-то полезное. итак программа проверки знаний (тестирование кандидатов на работу например). 1-й раз работаю с базой через ОРМ, поэтому возникают сложности, итак...
есть категории вопросов (конституция РФ, Трудовой кодекс и т.д.), вопросы и ответы. правильных ответов на вопрос может быть больше или равно 1.
class CategoryQuestion(models.Model):
name = models.CharField(max_length = 50, unique = True)
class Question(models.Model):
name = models.CharField(max_length = 250)
category = models.ForeignKey(CategoryQuestion)
class Answer(models.Model):
name = models.CharField(max_length = 250)
right = models.BooleanField(default = False)
question = models.ForeignKey(Question)
далее создаем категорию теста:
class CategoryTest(models.Model):
name = models.CharField(max_length = 50, unique = True) #название теста
quantity = models.SmallIntegerField(default = 0) #кол-во вопросов в тесте
category = models.ForeignKey(CategoryQuestion) #из какой категории брать вопросы
percent = models.SmallIntegerField(default = 0) #и сколько процентов брать каждой категории
и вот с ней-то затык, как красиво это спроектировать ?
например в приложении будет категория теста: на должность начальника отдела (20 вопросов).
туда должны входить 15% вопросов из категории "Конституция" и 85% например из любой другой.
на подсознательном уровне мне хочется объеденить поля category и percent в например словарь {category_id : percent}
такое возможно ? так же я понимаю, что поле ForeignKey тут не уместно.
наставьте плиз на путь истинный. самое простое что пришло в голову пока, это создать две таблицы - в одной название теста и кол-во вопросов, в другой связанной id_категории вопроса и процент.
Updated 29 Dec. 2015, 9:55 by bash77.