Динамическое заполнение одного поля Django Form на основе выбора в другом поле
У меня есть модель со следующим списком вариантов выбора:
models.py
class Choice_class(models.Model):
options = (
('None', 'none'),
('one', 'one'),
('two', 'two'),
('three', 'three'),
)
option_values = (
('None', 0),
('one', 1),
('two', 2),
('three', 3),
)
user_choice = models.CharField(max_length = 5, choices = options, default = 'None')
choice_value = models.IntegerField()
и форму следующим образом:
forms.py
class Choice_class(ModelForm):
options = (
('None', 'none'),
('one', 'one'),
('two', 'two'),
('three', 'three'),
)
option_values = (
('None', 0),
('one', 1),
('two', 2),
('three', 3),
)
user_choice = models.CharField(max_length = 5, choices = options, default = 'None')
choice_value = models.IntegerField(default = option_values[#BASED ON USER CHOICE IN FIELD ABOVE] )
Я хочу заполнить поле choice_value
значением по умолчанию из option_values
на основе того, что пользователь выбирает для поля user_choice
.
Я бы не хотел делать это через js (хотя это вариант), потому что мне кажется, что должен быть способ сделать это через фреймворк в той же форме.
Я понимаю, что у меня также есть возможность сделать логику для этого в views.py
:
if choice_value == 'None':
'''populate with default value based on user_choice as defined by dict in views file etc'''
но я бы предпочел сделать это внутри формы, если это возможно.
Заранее спасибо, если у вас есть какие-либо рекомендации.