Мне нужно задать пользователю два секретных вопроса и соответствующие ответы. Вопросы безопасности будут предоставлены мной, поэтому это будет что-то вроде <select>
. Я создал модель для хранения профиля пользователя с именем UserProfile
. Похоже:
class UserProfile(models.Model):
phone1 = models.CharField(help_text='Primary phone number')
phone2 = models.CharField(help_text='Secondary phone number', blank=True)
...
Я мог бы сделать что-то вроде:
SECURITY_QUESTIONS_CHOICES = (
('PN', 'What is your telephone number?'),
('BF', 'What is the full name of your best friend?'),
...
)
и добавьте следующие два поля в мою модель:
question1 = models.CharField(choices=SECURITY_QUESTIONS_CHOICES)
question2 = models.CharField(choices=SECURITY_QUESTIONS_CHOICES)
но я хочу иметь возможность изменить список вопросов безопасности, поэтому я хочу, чтобы он тоже был моделью.
Мой вопрос:
Как лучше всего иметь два поля, которые указывают на одну и ту же модель ?
- Наличие только одного поля (например,
questions
), которое является отношением ManyToMany к SecurityQuestion
, и ограничение числа 2 в регистрационной форме?
- Наличие двух полей (
question1
и question2
), каждое из которых имеет значение от ForeignKey
до SecurityQuestion
?