+def _create_keyword_definition_matching(keyword, keywords):
+ question_keywords = [keyword]
+ question_keywords.extend(random.sample(keywords.exclude(id=keyword.id), MULTIPLE_CHOICE_CHOICES - 1))
+
+ answer_mapping = {k.word: k.definition for k in question_keywords}
+ word_column = [k.word for k in question_keywords]
+ random.shuffle(word_column)
+ definition_column = [k.definition for k in question_keywords]
+ random.shuffle(definition_column)
+
+ question_text = u'Match the words with their definitions'
+
+ return MatchingQuestion(question_text, left_column=word_column,
+ right_column=definition_column, left_right_mapping=answer_mapping)
+
+