Django форма - Как автозаполнить себя из другой формы
Я хотел бы автозаполнить Kpi fieldd
путем извлечения его значения в name field
.
Например: здесь kpi = name.split("-")[6]
, который равен строке CPC
. Как я могу это сделать?
class UserCampaigns(models.Model):
dsp_choices =(
('Amazon', 'Amazon'),
('Amobee', 'Amobee'),
('AppNexus', 'AppNexus'),
('Digiteka', 'Digiteka'),
('DV 360', 'DV 360'),
)
kpi_choices = (
('CPA', 'CPA'), ('CPC', 'CPC'),
('CPD', 'CPD'), ('CPL', 'CPL'),
('CPM', 'CPM'), ('CPV', 'CPV'),
('CTR', 'CTR'), ('Vsibility', 'Visibility'),
('VTR', 'VTR'), ('LTR', 'LTR'),
)
user = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.ForeignKey(CampaignNamingTool, on_delete=models.CASCADE)
dsp = models.CharField(max_length=30, choices=dsp_choices)
budget = models.DecimalField(max_digits=20, decimal_places=2)
kpi = models.CharField(max_length=10) #choices=kpi_choices)
start_date = models.DateField()
end_date = models.DateField()
Вы можете сделать примерно следующее:
<select id="kpi">
<option>...</option>
</select>
<input id="kpi_input">
<script>
const kpiSelection = document.getElementById("kpi");
const kpiInput = document.getElementById("kpi_input");
var kpiValue = kpiSelection.options[kpiSelection.selectedIndex].text;
kpiInput.value = kpiValue.split('-')[6]
</script>
Получите текст выбранной опции и установите значение поля ввода. Создайте это как функцию, которая будет срабатывать при изменении выбранной опции.