Я работаю в Django, но этот вопрос может применяться к любой базе данных в целом.База данных SQL (Django) - Отнести все записи в таблице B к каждой записи в таблице A
В моих моделях у меня есть таблица UserProfile. Другая таблица UserQA содержит поле для question_text и поле для question_answer. Проблема с этой моделью заключается в том, что мне понадобится отношение ManyToMany, у которого есть накладные расходы на два longints для каждого вопроса, а question_text дублируется для каждого пользователя.
В принципе, требования:
- Таблица вопросов, которые пользователи могут внести свой вклад в добавляя свои собственные вопросы
- магазин 1 символьный ответ (Y/N/O/Null) для каждого вопроса, каждый пользователь
2.1 Есть ли способ расширить это, если мне нужны некоторые вопросы, чтобы иметь более сложные ответы?
Это казалось легкой проблемой, но я не могу понять это. То, как я думал, что это делается, кажется очень неэффективным, есть ли лучший способ?
Спасибо!
Спасибо, первая часть имеет смысл для меня сейчас. Я все еще запутался в вопросе «QuestionAlternative», как он хранит новые варианты? Например, если два разных ответа я хочу: 'models.CharField (max_length = 1, choice = (('O', 'Other'), ('M', 'Male'), ('F' , 'Female') ' и ' models.CharField (max_length = 1, choice = (('Y', 'Yes'), ('N', 'No'), ('O', 'Other'), ' Как я могу ввести эти выборы? – dtgq
О, я вижу, каждый выбор (да/нет/мужской/женский/другой) будет храниться в' QuestionAlternative', а затем связан первичным ключом, поэтому 'UserAnswer' может выбрать 3 из они, правда? Я думаю, что получил это сейчас, спасибо вам большое Жан Юнг! – dtgq
Извините за тройной пост, еще одна вещь, которую я только что заметил - если я правильно понимаю «ForeignKey», 'answer = models.ForeignKey (QuestionAlternative) 'было бы связано только с одним ответом. С этим же ответом можно было бы связать много разных вопросов. Должно ли оно использоваться' Ма nyToManyField' вместо этого? – dtgq